[Java] #1 데이터 출력하기

febCho·2023년 9월 20일

Java

목록 보기
1/53

1. 콘솔에 출력하기

package kr.s01.basic;

public class HelloWorld2 {
	public static void main(String[] args) {
		System.out.println("오늘은 화요일");
		System.out.println("내일은 수요일");
	}
}
출력)
오늘은 화요일
내일은 수요일
  1. 가독성을 위해 tab 키를 활용하여 들여쓰기를 하는 것이 중요하다.
  2. public static void main(String[] args)는 프로그램 구동을 위한 시작점, 진입점 역할을 한다.
  3. Run as 단축키Ctrl + F11이다.
  4. System.out.pritnln();은 콘솔에 소괄호 안 내용을 출력하며, 입력 후 다음 line으로 넘어간다.

1-1. 자주 사용하는 기호

[] 대괄호
{} 중괄호
() 소괄호
; 세미 콜론
: 콜론
"" 큰 따옴표
'' 작은 따옴표

  1. '세미 콜론'은 한 라인의 입력이 끝났음을 표시해 준다.
  2. 큰 따옴표, 작은 따옴표와 같은 '특수문자'는 출력되지 않는다.
  3. 큰 따옴표는 문자열과 한 문자를 명시할 때, 작은 따옴표는 한 문자를 명시할 때 사용한다.

여기서 문자와 문자열이란 다음과 같다.

2. 문자와 문자열

package kr.s01.basic;

public class PrintMain03 {
	public static void main(String[] args) {
		//문자 : 한 문자
		System.out.println('A');
		System.out.println('가');
		
		//문자열 : 한 문자 이상의 문자들
		System.out.println("Z");
		System.out.println("Bus");
		System.out.println("한강");
		
		//숫자(정수)
		System.out.println(23);
		
		//숫자(실수)
		System.out.println(25.67);
		
		//논리값(boolean)
		System.out.println(true);//참값
		System.out.println(false);//거짓값
	}
}

위 예시와 같이
1. 문자는 하나의 문자만을 가리키며 작은 따옴표 안에 명시한다.
2. 문자열은 한 문자 이상의 문자를 가리키며 큰 따옴표 안에 명시한다.
3. 이외에도 java의 기본 자료형으로는 정수, 실수, 논리값 등이 있는데, 정수/실수/논리값 데이터는 따옴표 사용이 불필요하다.

3. 주석

package kr.s01.basic;

public class PrintMain01 {
	public static void main(String[] args) {
		//주석 : 코드에 대한 설명을 명시하거나 코드를 컴파일할 때 제외시켜서
		//     실행되지 않도록 할 때 사용
		//한줄 주석
		
		//출력 후 줄바꿈
		System.out.println("Hello Java!");
		//한줄 주석
		//System.out.println("오늘은 화요일");
		
		//출력 후 줄바꿈 없음
		System.out.println("봄");
		System.out.println("여름");
		//여러줄 주석
		/*
		 * System.out.print("가을")
		 * System.out.print("겨울")
		 */
	}
}
출력)
Hello Java!
봄
여름
  1. 주석 처리를 하게 되면 해당 내용은 콘솔에 출력되지 않는다.
  2. 한줄 주석(//)여러줄 주석(/* ~ */)이 있다.

4. printf로 출력하기

package kr.s01.basic;

public class PrintMain05 {
	public static void main(String[] args) {
		//System.out.printf(포맷문자, 데이터)를 이용한 출력
		//(데이터의 종류를 표시할 수 있는 포맷문자 지원)
		
		//문자
		System.out.printf("%c%n", 'A');
		System.out.printf("%6c%n", 'B');//6자리 확보, 오른쪽에 정렬
		System.out.printf("%-6c%n", 'C');//6자리 확보, 왼쪽에 정렬
		System.out.println("==============");
		
		//정수
		System.out.printf("%d%n", 67);
		System.out.printf("%6d%n", 8);//5자리 확보, 오른쪽에 정렬
		System.out.printf("%-5d%n", 3);//5자리 확보, 왼쪽에 정렬
		System.out.printf("%,d원%n", 10000);//3자리 단위로 쉼표 표시
		System.out.println("===========");
		
		//실수
		System.out.printf("%f%n", 35.896);//소수점 6자리 확보, 비어 있는 자리는 0으로 채움
		System.out.printf("%.2f%n", 35.896);//소수점 둘째자리까지 출력
		System.out.printf("%10.2f%n", 35.896);//10자리를 확보하고 오른쪽부텨 표시, 소수점 둘째자리까지 출력
		System.out.println("=============");
		
		//문자열
		System.out.printf("%s%n", "우주");
		System.out.println("===========");
		
		//논리값
		System.out.printf("%b%n", true);
		System.out.println("============");
		
		//데이터의 종류가 여러 개일 경우
		System.out.printf("%s는 %d점입니다", "점수", 98);
	}
}

포맷 문자의 종류는 다음과 같다.

  1. %c : 한 문자 (c: character)
  • %c%n: 데이터 값이 c 자리에 들어가고 줄바꿈 가능
  • %(숫자)c%n : 숫자에 들어가는 수만큼 자리 확보하여 정렬 가능 (양수: 오른쪽, 음수: 왼쪽)
  1. %d : 정수 (d: decimal)
    자리 확보하여 정렬하는 방법 c와 동일함
  • %,d원%n : 세 자리씩 끊어 읽기, 숫자 뒤에 ‘원’ 단위, n으로 줄바꿈
  1. %f : 실수 (f: float)
  • %.2f%n : 출력을 원하는 자리에서 반올림 ex. 소수점 둘째 자리까지 출력
    ex. %10.2f%n : 10은 전체 자릿수, 0.2는 소수점 둘째 자리까지 출력, 10이 양수이니 오른쪽에 정렬
  1. %s : 문자열 (s: string)
  2. %b : 논리값 (b: boolean)


위 내용을 바탕으로 아래와 같이 실습을 진행하였다.

package kr.s01.basic;

public class PrintMain06 {
	public static void main(String[] args) {
		/*
		 *System.out.printf()를 이용해서 아래와 같이 출력하시오.
		 *
		 *(출력 예시)
		 *
		 *국어 : 98점
		 *영어 : 97점
		 *총점 : 195점
		 *평균 : 97.5점
		 */
		
		System.out.printf("%s : %d점%n", "국어", 98);
		System.out.printf("%s : %d점%n", "영어", 97);
		System.out.printf("%s : %d점%n", "총점", 195);
		System.out.printf("%s : %.1f점%n", "평균", 97.5);
	}
}
package kr.s01.basic;

public class PrintMain07 {
	public static void main(String[ ] args) {
		/*
		 * [실습]
		 * 유재석은 은행계좌를 가지고 있다. 계좌에 1,000원이
		 * 예금되어 있는데 오늘 325원을 송금 받아서 잔고가 1,325원이 되었다.
		 * 특별이자율은 0.3이 적용되어 내일 이자 397.5원을 받는다.
		 * 
		 * 예금자, 송금되기 전 잔금, 송금된 금액, 송금이후 잔금,
		 * 내일 입금될 이자를 출력하시오.
		 */
		
		System.out.printf("예금자 : %s%n", "유재석");
		System.out.printf("송금되기 전 잔금 : %,d%n", 1000);
		System.out.printf("송금된 금액 : %,d%n", 325);
		System.out.printf("송금이후 잔금 : %,d%n", 1325);
		System.out.printf("내일 입금될 이자 : %.1f%n", 397.5);
	}
}
  1. System.out.printf()의 핵심은 변화하는 데이터를 받을 포맷 문자만 지정해 주면 된다는 점이다. 예를 들어 첫 번째 실습 예제를 보면 과목명은 변하지만 콜론(:)은 모두 동일하게 반복되고 있기에 %s가 받을 데이터는 과목명만 해당한다.
profile
Done is better than perfect.

0개의 댓글