Java printf 이용한 출력

iy·2024년 1월 8일

Java

목록 보기
1/8

흔히 사용하는 println()의 단점 : 출력형식 지정 불가 (변수값 그대로 출력)
1. 실수의 자리수 조절 불가- 소수점 n자리만 출력하려면?

System.out.println(10.0/3); // 3.333333...
  1. 10진수로만 출력됨 - 3진수, 16진수로 출력하려면?
System.out.println(0X1A); // 26 (10진수)

printf

printf를 이용해 출력 형식 지정이 가능함

지시자설명
%b블리언(boolean)형식으로 출력
%d10진 정수의 형식으로 출력
%o8진 정수 형식으로 출력
%x, %X16진 정수의 형식으로 출력
%f부동 소수점 형식으로 출력
%e,%E지수 표현식의 형식으로 출력
%c문자로 출력
%s문자열로 출력

(이외의 형식들은 JavaAPI -> Formmatter 확인)

System.out.printf("age :%d\n", 14, 2017);
// age: 14
// year : 2017

Formmatter

printf()의 지시자

  1. 정수를 10진수, 8진수, 16진수로 출력
System.out.printf("%d",15); //15 10진수
System.out.printf("%o",15); //17 8진수
System.out.printf("%x",15); //f 16진수
System.out.printf("%s",Integer.toBinaryString(15)); //1111 2진수

이진문자열 메소드
// 10진수 -> 2진수
Integer.toBinaryString();

  1. 8진수와 16진수 접두사 붙이기
System.out.printf("%#o",15); //017 
System.out.printf("%#o",15); //0x17 
System.out.printf("%#X",15); //0XF 
  1. 실수 출력을 위한 지시자 %f, -지수 형식 %e, 간략한 형식 %g
float f = 123.4567890f;
System.out.printf("%f",f); // 123.456789 소수점 아래 6자리
System.out.printf("%e",f); // 1.234568e+02 지수형식
  1. 정렬
System.out.printf("[%5d]%n", 10); // 자릿수 지정 [   10] : 5자리를 원했지만 두자리수이므로 나머지는 공백으로 채움 
System.out.printf("[%-5d]%n", 10); // [10   ] : -를 붙이면 왼쪽 정렬
System.out.printf("[%05d]%n", 10); // [00010]
  1. 그 외 지시자
System.out.printf("d=%14.10f%n",d); // 전체 14자리 중 소수점 아래 10자리

System.out.printf("[%s]%n",url); // 문자열 정렬은 %d와 규칙은 같음

System.out.printf("[%.8s]%n",url); // 8자리만 출력

👀참고
자바의정석-printf

0개의 댓글