[Java]형식화된 출력 printf( )

헤이베이지 HeyBeige

·

2020. 12. 28. 16:39

형식화된 출력 → System.out.printf();

 

화면에 값을 출력할 때 System.out.println( )을 써왔다. 사용하기에 편하지만 변수의 값을 그대로  노출하고, 값을 변환하지 않고서는 다른 형식으로 출력할 수 없다.

이때 같은 값이라도 다른 형식으로 출력하고 싶을 때가 있다.

 

-printf( )는 '지시자(specifier)' 를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력하는 기능을 갖고있다.

-printf( )는 println( )과 달리 줄바꿈을 하지않는다. 줄바꿈을 할때는 큰따옴표("") 안에 \n 혹은 %n을 사용한다.

 

지시자 설명
 %d   10진(decimal) 정수의 형식으로 출력
 %f   부동 소수점(float -point)의 형식으로 출력                                     
 %o  8진(octal) 정수의 형식으로 출력
 %x, %X  16진(hexa-decimal) 정수의 형식으로 출력
 %c   문자(charactor)로 출력
 %s   문자열(string)로 출력
 %b  불리언(boolean)로 출력
 %e, %E  지수(exponent) 표현식의 형식으로 출력

 

서식이 있는 출력 코딩 
int num_i = 123;
double num_d = 1.23456789;
double num_d1 = 1.2345678987654321;
String url = "https://hbeige.tistory.com";
 
System.out.printf("[%d]%n", num_i);   // [123]
System.out.printf("[%5d]%n", num_i);  // [  123]
System.out.printf("[%05d]%n", num_i); // [00123]
System.out.printf("[%-5d]%n", num_i); // [123  ]
 
 
 
System.out.println("[123456789012345678901234567890]->30칸");
System.out.printf("[%s]%n", url);
System.out.printf("[%30s]%n", url);  // 30칸 중 오른쪽 정렬
System.out.printf("[%-30s]%n", url); // 30칸 중 왼쪽정렬
System.out.printf("[%.8s]%n", url);  // 왼쪽에서 8글자만 출력
 
System.out.printf("[%f]%n", num_d); // 마지막 소수점 자리에서 반올림
System.out.printf("[%14.10f]%n", num_d);  // 전체 14자리 중 소수점 10자리까지 출력
System.out.printf("[%14.10f]%n", num_d1); // 전체 14자리 중 소수점 10자리까지 출력+마지막 소수점 자리에서 반올림
System.out.printf("[%-14.10f]%n", num_d); // 전체 14자리 중 소수점 10자리까지 왼쪽정렬 출력
cs

>>출력결과