본문 바로가기
Java/└ [JAVA] Practice

[실습 문제] 자바 기초, 변수

by 박채니 2022. 2. 26.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

자바 기초, 변수에 대해서 간단한 실습 문제들을 풀어보았습니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


@실습문제 : 자바 기초
1. 
실행용 클래스
* 패키지 : emp.run
* 클래스명 : TestEmp
* 실행메소드 : public static void main(String[] args)
* 내용 : Employee의 printEmployee메소드실행
기능제공 클래스
* 패키지 : emp.model.vo
* 클래스명 : Employee
* 추가 메소드 : public void printEmployee(){}
* 내용 : 자기소개출력 (본인 이름, 나이, 생년월일)

 

package emp.model.vo;

public class Employee {
	public void printEmployee() {
		System.out.println("==== 자기소개 ====");
		System.out.println("이름 : 박채니");
		System.out.println("나이 : 24");
		System.out.println("생년월일 : 1999.01.19");
	}
}
package emp.run;

import emp.model.vo.Employee;

public class TestEmp {
	public static void main(String[] args) {
		Employee em = new Employee();
		em.printEmployee();
	}
}


@콘솔출력값
==== 자기소개 ====
이름 : 박채니
나이 : 24
생년월일 : 1999.01.19

 

2. 
실행용 클래스
* 패키지 : product.run
* 클래스명 : TestProduct
* 실행메소드 : public static void main(String[] args)
* 내용 : Product의 printProduct실행
기능제공 클래스
* 패키지 : product.model.vo
* 클래스명 : Product
* 메소드 :  public void printProduct() {} 
* 내용 : 제품소개글 출력(예: TV, 42인치, 100만원)

 

package product.model.vo;

public class Product {
	public void printProduct() {
		System.out.println("<<<<< 전자제품 코너 >>>>>");
		System.out.println("최신형!! TV 42인치 -> 100만원");
		System.out.println("LG그램 15인치 -> 180만원");
		System.out.println("맥북 15인치 -> 200만원");
		System.out.println();
		System.out.println("<<<<< 가전제품 코너 >>>>>");
		System.out.println("최신형!! 전자레인지 -> 80만원");
		System.out.println("울트라 냉장고 -> 400만원");
		System.out.println("빙글빙글 잘 돌아가는 세탁기 -> 500만원");
	}
}
package product.run;

import product.model.vo.Product;

public class TestProduct {
	public static void main(String[] args) {
		Product product = new Product();
		product.printProduct();
	}
}

@콘솔출력값
<<<<< 전자제품 코너 >>>>>
최신형!! TV 42인치 -> 100만원
LG그램 15인치 -> 180만원
맥북 15인치 -> 200만원

<<<<< 가전제품 코너 >>>>>
최신형!! 전자레인지 -> 80만원
울트라 냉장고 -> 400만원
빙글빙글 잘 돌아가는 세탁기 -> 500만원

 

3. 
자바 기본 API활용
* package : com.kh.edu
* class : TestJavaApi
* 메소드 : public static void main(String[] args){ }

자바에서 지원하는 API 중 java.util.Date 클래스를 이용해서 오늘 날짜를 출력하세요
    출력형식 : 2020/08/14

 

package com.kh.edu;

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestJavaApi {
	public static void main(String[] args) {
		Date now = new Date();
		SimpleDateFormat dtFormat = new SimpleDateFormat("yyyy/MM/dd");
		
		String nowFormat = dtFormat.format(now);
		System.out.println(nowFormat);
	}
}

@콘솔출력값
2022/02/26

자바 기초_3번 실습 문제는 형식 객체 SimpleDateFormat 이라는 자바 API 중 java.test.SimpleDateFormat 클래스를 이용하여 원하는 출력 형식을 지정해 오늘 날짜를 출력해보았습니다.

format의 yyyy / MM 등은 여러가지를 나타내는 방법이 있습니다.

JDK (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html)

SimpleDateFormat 을 이용하는 방법 외에도 여러가지 방법이 있습니다.

 

1. Date의 메소드 가져오기 사용 안됨!! 

//1. Date의 메소드 가져오기
public static void main(String[] args) {
		Date d = new Date();
		System.out.println((d.getYear() + 1900) + "/" + (d.getMonth() + 1) + "/" + d.getDate())
	}
    
@콘솔출력값
2022/2/26

하지만, Date 클래스의 .getYear / .getMonth / .getDate를 사용하면 취소선이 그어지는 것이 확인 되고, 

The method getYear() from the type Date is deprecated 이러한 경고 메세지가 출력되는 것을 볼 수 있습니다.

그 이유는 JDK의 버전이 올라가면서 해당 메소드는 사용하지 않기로 한 것이기 때문입니다.

자바의 하위호환성(이전 버전까지 다 돌릴 수 있는) 때문에 아예 삭제 되지않고 취소선이 쫙 그어지는 것 입니다. 사용 안됨!! 

 

2. java.util.Calendar

 

public static void main(String[] args) {
	//static 키워드가 있는 메소드는 클래스이름.메소드명() 으로 호출
	Calendar cal = Calendar.getInstance(); //Calendar 객체 생성
	System.out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) +1) 
        + "/" + cal.get(Calendar.DATE));
}
    
@콘솔출력값
2022/2/26

Calendar.Month 값은 0 ~ 11까지 존재하며 각 1월 ~ 12월을 의미하기 때문에 +1을 해주어 현재 월을 구해주었습니다.

 

3. printf 메소드 사용하기

public static void main(String[] args) {
    System.out.printf("%tY/%tm/%td\n", d, d, d);
  }
  
@콘솔출력값
2022/02/26

날짜format 참고 접은 글 확인 ↓

더보기

 

/*
###참고
날짜format        설명
------------------------------------------------
%tF         날짜를 yyyy-mm-dd 형식으로 포맷
%tT         날짜의 시각을 HH:MM:SS 형식으로 포맷.
------------------------------------------------------
%tY         4자리 년도만 출력
%ty         2자리 년도
%tB         월의 이름(January, February, March...)
%tm         월을 01,02,03 ~12 로 출력
%td         일수를 1~31 로 출력
%te         %td 와 같음.
%tA         요일명 출력
---------------------------------------------------
%tp         오전, 오후를 출력
%tk         시간을 0~23 으로 출력.
%tl         시간을 1~12 로 출력.
%tM         분을 00 ~59 로 출력.
%tS         초를 00 ~ 59 로 출력.
-----------------------------------------------------
%tZ         타임존을 출력 (한국은 KST)
---------------------------------------------------
*/

 

4. java.time API (jdk8 ~)

 

public static void main(String[] args) {
	LocalDate date = LocalDate.now();
		System.out.println(date.getYear() + "/" + date.getMonthValue() 
  	    + "/" + date.getDayOfMonth());
	}
}

@콘솔출력값
2022/2/26

@ 실습 문제 : 변수
1. 각 자료형별 변수를 만들고 초기화한 후 그 값을 출력하는 코드를 작성해 보자.

  - 정수형 100, 9999억, 
    - 실수 486.567(float), 567.890123
    - 문자 A
    - 문자열 Hello world, 
    - 논리 true
     
     단, 변수를 이용하여 출력하시오 .

  com.kh.test.Test1 에 작성

package com.kh.test;

public class Test1 {
	public static void main(String[] args) {
		int hun = 100;
		long lnum = 999999999999L;
		float f = 486.567f;
		double d = 567.890123;
		char ch = 'A';
		String str = "Hello World";
		boolean bool = true;
		
		System.out.println("정수형 : " + hun + ", " + lnum);
		System.out.println("실수형 : " + f + ", " + d);
		System.out.println("문자 : " + ch);
		System.out.println("문자열 : " + str);
		System.out.println("논리 : " + bool);
	}
}

@콘솔출력값
정수형 : 100, 999999999999
실수형 : 486.567, 567.890123
문자 : A
문자열 : Hello World
논리 : true

'Java > └ [JAVA] Practice' 카테고리의 다른 글

[실습문제] 반복문, 분기문  (0) 2022.04.11
[실습문제] switch, for문  (0) 2022.03.15
[실습문제] 난수, 조건문  (0) 2022.03.10
[실습문제] 연산자  (0) 2022.03.10
[실습문제] printf, Scanner  (0) 2022.03.01