Programming Language/Java

[Java] 출력

LeeJaeJun 2023. 12. 30. 23:44
728x90
반응형

println()은 변수의 값을 그대로 출력한다. 따라서 값을 변환하지 않고서는 다른 형식으로 출력할 수 없다. 이를 보완하는 것이 printf()이다.

 

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

 

printf() 지시자

- %b : boolean 형식으로 출력

- %d : 10진(decimal) 정수의 형식으로 출력

 (+) %5d : 오른쪽 맞춤 5자리, %-5d: 왼쪽 맞춤 5자리, %05d: 오른쪽 맞춤 5자리 + 빈공간은 0으로 표시

- %o : 8진(octal) 정수의 형식으로 출력

- %x, %X : 16진(hexa-decimal) 정수의 형식으로 출력(%X는 16진수에 사용되는 접두사와 영문자를 대문자로 출력)

 (+) %#x,%#X,%#o 처럼 #를 사용하면 접두사 0x와 0이 각각 붙어서 출력된다.

 (+) 10진수를 2진수로 출력해주는 지시자는 없으므로 Inter.toBinaryString(int i)를 사용하여 2진수 문자열로 바꾸어 %s로 출력해야 한다.

- %f : 부동 소수점(floating-point)의 형식으로 출력, 기본적을 소수점 아래 6자리까지만 출력하고 나머지는 반올림.

(+) %전체자리.소수점아래자리f 이런 식으로 자릿수를 지정할 수 있다. ex) %14.10f :전체 14자리 소수점 10자리. 오른쪽 맞춤. 만약 %014.10f이었으면 빈자리는 0으로 채워진다.

- %e, %E : 실수형 값을 지수(exponent) 표현식의 형식으로 출력

- %g: 실수형 값을 간략하게 표현할 때

- %c : 문자(character)로 출력

 (+) c언어에서는 char타입을 %d로 출력이 가능하지만 Java에서는 직접 int 타입으로 형변환을 해야만 %d로 출력할 수 있다.

- %s: 문자열(string)로 출력

(+) .을 붙여서 문자열의 일부만 출력가능 ex) %.8s : 왼족에서 8글자만 출력

 

println()과 달리 printf()는 출력 후 줄바꿈이 되지 않으므로 지시자 %n을 통해 직접 줄바꿈해주어야 한다.

(%n 대신 \n을 사용해도 되지만, OS마다 줄바꿈 문자가 다를 수 있기에 %n을 사용하는 것이 더 안전하다.)

728x90
반응형

'Programming Language > Java' 카테고리의 다른 글

[Java] 클래스와 객체  (0) 2023.12.30
[Java] 특수 문자 다루기  (0) 2023.12.30
[Java] 변수  (0) 2023.12.30
[Java] public static void main(String[] args) 분석  (0) 2023.12.30
[Java] JDK와 JRE  (0) 2023.12.30