int score = -70;
%d
System.out.printf("score = %d\n",score); //70이 출력됨
%(d
System.out.printf("score = %(d\n",score); //음수대신 (70)이 출력됨
int money = 12345;
%,d
System.out.printf("money=%,d\n",money); //천자리 마다 ,가 찍혀서 나온다. (암기)
10진수 표현법
byte kor = 10;
%d
System.out.printf("kor = [%d]\n",kor); //10진수 정수 형태로 출력
%10d
System.out.printf("kor = [%10d]\n",kor); //총자리수 _ _ _ _ _ _ _ _ 10
총자리수 10 개 잡아서 우측정렬해서 출력해라
%-10d
System.out.printf("kor = [%-10d]\n",kor); //총자리수 10 _ _ _ _ _ _ _ _
총자리수 10 개 잡아서 좌측정렬해서 출력해라
%010d
System.out.printf("kor = [%010d]\n",kor); //총자리수 0000000010
총자리수 10 개 잡아서 빈부분 0으로 매워서 출력해라
int num1 = 5, num2 = 300;
System.out.printf("%04d\t%04d\n",num1,num2); // 0005 0300
화면에 출력할 때는 4자리의 숫자형식 출력
'\n' 개행 제어문자
'\t' 탭 제어 문자
int kor = 10; 2진수 0000 1010
%o
System.out.printf("kor = [%o]\n",kor); //8진수 정수 형태로 출력 12
%x
System.out.printf("kor = [%x]\n",kor); //16진수 정수 형태로 출력 a
%X
System.out.printf("kor = [%X]\n",kor); //16진수 정수 형태로 출력 A
%#o
System.out.printf("kor = [%#o]\n",kor); //8진수 정수 형태로 출력 012
%#X
System.out.printf("kor = [%#X]\n",kor); //16진수 정수 형태로 출력 0xA
double avg = 87.32342;
%f
System.out.printf("avg = [%f]\n",avg); //소수점 6자리까지 출력
87.323420
%10f
System.out.printf("avg = [%10f]\n",avg); //전체 10자리 소수점 6자리까지 출력
[ 87.323420]
%10.2f
System.out.printf("avg = [%10.2f]\n",avg); //전체 10자리 소수점 2자리까지 출력
[ 87.32]
%.2f
System.out.printf("avg = [%.2f]\n",avg); //소수점 2자리까지 출력
[87.32]
float avg = 87.32342F;
System.out.printf("avg = %d\n",avg); // Err fail[*Conversion]
System.out.printf("avg = %f\n",avg); // %f형태를 써야한다.
출력서식 형식
%[argument_index$][flags][width][.precision]conversion
%conversion %c %b %e %t %s %d %등등
% . precision conversion
% . 2 f 소수점 2자리 출력
% width . precision conversion
% 10 . 2 f 전체 10자리 소수점 2번째 까지 표현
% flags conversion
% # f 8진수 / 16진수에 0 / 0x 붙여서 출력
( f 음수를 절대값으로 바꾸고 괄호와 함께 출력
, f 3자리마다 , 를 찍어서 출력
0 f 전체 자리수의 빈 공간에 0 넣어서 출력