자바에서 형식화된 출력은 주로 printf 메서드를 사용하여 수행됩니다. 이 메서드는 System.out 객체에 포함되어 있으며, C 언어의 printf 함수와 유사한 방식으로 동작합니다.
printf 메서드를 사용하면 문자열 내에서 특정 위치에 변수 값을 포함시킬 수 있습니다. 이를 위해 사용되는 특수한 문자열 표시자(또는 형식 지정자)가 있습니다.
1. print() 메서드
이 메서드는 데이터를 출력하되, 줄바꿈을 하지 않습니다.
System.out.print("Hello, ");
System.out.print("World!");
출력
Hello, World!
2. println() 메서드
이 메서드는 데이터를 출력하고 줄바꿈을 합니다.
System.out.println("Hello,");
System.out.println("World!");
출력
Hello,
World!
3. printf() 메서드
형식화된 출력을 위해 사용됩니다. 여러 형식 지정자를 사용하여 출력할 데이터의 형식을 지정할 수 있습니다.
double price = 5.5;
System.out.printf("The price is: $%.2f", price);
출력
The price is: $5.50
형식 지정자와 출력 옵션
printf를 사용할 때 알아두면 유용한 몇 가지 주요 형식 지정자와 출력 옵션입니다.
1. %d : 정수
2. %f : 부동 소수점
3. %.2f : 부동 소수점을 소수점 이하 두 자리까지 출력
4. %s : 문자열
5. %c : 문자
6. %e : 지수 형식의 부동 소수점
7. %x : 16진수
8. %n : 줄바꿈 (운영 체제에 따라 적절한 줄바꿈 문자를 사용)
9. %% : '%' 문자 자체를 출력
또한 출력 너비, 정렬, 패딩 등의 추가 옵션을 사용하여 출력 형식을 더욱 정밀하게 제어할 수 있습니다.
예
System.out.printf("Name: %-12s Age: %3d Price: $%.2f%n", "John", 25, 12.5);
System.out.printf("Name: %-12s Age: %3d Price: $%.2f%n", "Alice", 19, 5.5);
출력
Name: John Age: 25 Price: $12.50
Name: Alice Age: 19 Price: $5.50
위의 예에서 -12s는 문자열을 왼쪽 정렬하고 너비를 12로 설정하여 출력하라는 의미입니다. %3d는 정수를 너비 3에 출력하라는 의미입니다.
With ChatGPT