JAVA_형식화된 출력

호근·2022년 11월 27일
0

java

목록 보기
4/35

printf()

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

지시자는 값을 어떻게 출력할 것인지 지정해주는 역할을 한다.

정수형 변수에 저장된 값 →10진 정수 → 지시자 '%d'를 사용
출력값이 2개라면 지시자도 2개를 사용한다.
지시자의 순서는 일치해야한다.

System.out.printf("age:%d" year:%d", age, year);
→ System.out.printf("age:%d, year:%d", 26, 2022);
→ "age:26, year:2022" 가 출력된다.

자주 사용되는 지시자

  • %b → 불리언 형식으로 출력
  • %d → 10진(decimal) 정수형식으로 출력
  • %o → 8진(octal) 정수형식으로 출력
  • %x, %X → 16진(hexa-deciaml) 정수형식으로 출력
  • %f → 부동 소수점(floating-point)의 형식으로 출력
  • %e, %E → 지수(exponent)형식으로 출력
  • %c → 문자(character)형식으로 출력
  • %s → 문자열(string) 형식으로 출력

지시자 %x와 %o에 '#'을 사용하면 접두사 '0x', '0'이 각각 붙는다.
%X는 16진수에 사용되는 접두사와 영문자를 대문자로 출력한다.

%5d → 5개 칸을 만들고 우측 정렬
%-5d → 5개 칸을 만들고 좌측 정렬
%05d → 5개 칸을 만들고 우측 정렬, 공백은 0으로 채움

  • System.out.printf("hex= %x%n", hex); → hex = ffffffffffff
  • System.out.printf("hex= %#x%n", hex); → hex = 0xffffffffffff
  • System.out.printf("hex= %#X%n", hex); → hex = 0XFFFFFFFFFFFFFFFF

16진수를 2진수로 출력해주는 지시자는 없다. 따라서 정수를 2진 문자열로 반환해주는 'Inter.toBinaryString(int i)'를 사용해야한다.

C언어에서는 char타입의 값을 %d로 출력할 수 있지만, 자바에서는 허용되지 않기 때문에 형변환을 해야 %d로 출력가능하다.

→ System.out.printf("c=%c, %d %n", c, (int)c); // 형변환

실수형 값의 출력에 사용되는 지시자는 %f, %e, %g 가 있다.

  • %f → 소수점 6자리까지 출력된다. 소수점 아래 7자리는 반올림된다.
  • %e → 지수형태로 출력된다.
  • %g → 값을 간략히 표현할 때 사용한다.

전체 자리수와 소수점 아래의 자리수를 지정할 수도 있다.

double d = 1.23456789;

  • %전체자리.소수점아래자리f
    → System.out,printf("d=%14.10f%n", d); // 전체 14자리 중 소수점 아래 10자리
    → 출력값 1.2345678900
    → 먼저 소수점 아래 10자리를 채운다. 빈칸은 0으로 채운다. 남는 자리는 공백으로 채운다.
profile
22.11.28 ~

0개의 댓글