프로그래밍/자바(Java)

[ 자바 / JAVA ] 출력 format(printf)

후르트링 2021. 12. 13. 20:34
728x90

Java에서 출력할 때 System.out.printf() 메소드를 사용하여 특정 형식의 문자열을 출력할 수 있습니다.

C언어에서의 printf() 함수를 사용하는 것과 사용 법은 비슷합니다.

[ printf() ]

public PrintWriter printf(String format, Object... args)
System.out.printf("출력 format", 출력할 내용);

 

format 설명
%s String 형식으로 출력
%d 정수 형식으로 출력
%n 줄바꿈
%f float 형식으로 출력
%t date, time 형식으로 출력
%o 8진수 정수의 형식으로 출력
%x 16진수 정수의 형식으로 출력
%b boolean 형식으로 출력
%e 지수 표현식의 형식으로 출력

 

[ 문자열 출력 예시 ]

  • %20s 처럼 숫자를 넣어 준다면 입력한 수만큼 공간을 할당합니다.
  • 숫자가 양수라면 문자는 오른쪽으로 정렬됩니다.
  • 숫자가 음수라면 문자를 왼쪽으로 정렬됩니다.

Code:

String hello = "Hello";
String world = "World!";
System.out.printf("%s %s %n",hello,world);

System.out.printf("(%20s) %n",hello);
System.out.printf("(%-20s) %n",world);

Output:

hello world 
(              hello)
(world              )

 

[ 정수, 실수 출력 예시 ]

%3.2f는 소수점 이하 2자리만 출력하게 할 수 있습니다.

%03d의 의미는 3자리를 차지하고, 만약에 수가 3자리가 되지 않는 다면 빈공간에 0을 채우는 것입니다.

Code:

System.out.printf("%f%n", 123.456);
System.out.printf("%5.2f%n", 123.456);
System.out.printf("%5.2e%n", 123.456);

System.out.printf("%03d %n",100);
System.out.printf("%03d %n",65);

Output:

123.456000
123.46
1.23e+02

100
065

 

[ 문자 출력 예시 ]

  • %c는 소문자로 출력
  • %C는 대문자로 출력

Code:

System.out.printf("%c%n", 's');
System.out.printf("%C%n", 's');

Output:

s
S

 

[ 시간 출력 예시 ]

Date객체는 시간 정보를 가지고 있습니다.

  • %tH : Date의 Hour값을 출력
  • %tM : Date의 minute 값을 출력
  • %tS : Date의 second 값을 출력
  • %tA : Date의 요일
  • %tB : Date의 달(month)
  • %tY : Date의 연도(year)

Code:

Date date = new Date();
System.out.printf("hours: %tH, minutes: %tM, seconds: %tS %n",
        date, date, date);

System.out.printf("%tA, %tB %tY %n", date, date, date);

Output:

hours: 19, minutes: 55, seconds: 26
Monday, December 2021