// 형식
System.out.printf("출력할 형식", 출력할 데이터, 출력할 데이터, ...);
// 예시
System.out.printf("%d %s", 12345, "HelloWorld");
// 결과
12345 HelloWorld
포맷(출력할 형식) 개수 == 포맷을 적용할 데이터(출력할 데이터)의 개수
오른쪽 정렬
이 기본이다.마이너스 표시(-)
가 있으면 왼쪽 정렬
로 출력한다.숫자
가 있다면 출력될 자릿수를 지정
한다.%a.b
로 표현할 수 있다.a : 소수점 이하의 숫자까지 포함해 출력될 최소 자릿수
b : 소수점 이하 자릿수
출력할 내용이 자릿수보다 작으면 공백으로 채우지만, % 다음에 0이 있으면 0으로 채운다.
\t
, 줄 바꿈은 \n
, % 기호는 %%
로 표현하여 출력할 수 있다.%b
: boolean 형식으로 출력
%c
: char 형식으로 출력
%d
: integer(decimal) 형식으로 출력
%e
: 지수 표현식의 형식으로 출력
%f
: float 형식으로 출력
%n
: 줄바꿈
%o
: 8진수(octal) integer 형식으로 출력
%s
: String 형식으로 출력
%t
: date, time 형식으로 출력
%x
: 16진수(hexadecimal) integer 형식으로 출력
[데이터 예시]
정수 : 85
문자열 : "hello"
실수 : 3.14f
// 정수
System.out.printf("%d", 85); //85(10진수로 출력)
System.out.printf("%7d", 85); // 85(7자리, 빈자리는 공백으로 처리)
System.out.printf("%-7d", 85); //85 (7자리, 빈자리는 공백으로 처리, 왼쪽정렬)
System.out.printf("%07d", 85); //0000085(7자리, 빈자리는 0으로 채움)
// 문자열
System.out.printf("%s", "hello"); //hello(문자열로 출력)
System.out.printf("%7s", "hello"); // hello(7자리, 빈자리는 공백으로 처리)
System.out.printf("%-7s", "hello"); //hello (7자리, 빈자리는 공백으로 처리, 왼쪽정렬)
// 실수
System.out.printf("%f", 3.14); //3.140000(10진수 실수, 소수점 이하 자릿수의 default는 6자리)
System.out.printf("%5.1f", 3.14); // 3.1(소수점 이하 포함 5자리, 소수점 이하 1자리)
System.out.printf("%05.1f", 3.14); //003.1(소수점 이하 포함 5자리, 소수점 이하 1자리, 빈자리 0)
System.out.printf("%-5.1f", 3.14); //3.1 (소수점 이하 포함 5자리, 소수점 이하 1자리, 왼쪽정렬)
4. 사용예시
에서는 설명을 위해 \n
을 사용하지 않았지만,
4.1 실행 화면 및 결과
에서는 결과를 더 명확하게 보기 위해 각 라인마다 줄바꿈(\n
)을 넣어주었다.
우종정, 『쉽게 배우는 자바 프로그래밍』, 한빛아카데미(2018), p58-60