JAVA/변수 Variable

[JAVA] 형식화된 출력-printf()

prize1209 2021. 6. 6. 03:28

 

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

 

System.out.printf("age:%d year: %d", 14, 2021);

 

printf()는 출력 후 줄바꿈을 안한다. 줄바꿈을 넣어주려면 %n을 추가해준다.

 

printf() 지시자 중 자주 사용되는 것들

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

 

public class PrintfEx {
	public static void main(String[] args) {
		System.out.println(10.0 / 3);

		System.out.printf("%d%n", 15);
		System.out.printf("%#o%n", 15); // 8진수 접두사 붙이기
		System.out.printf("%#x%n", 15); // 16진수 접두사 붙이기
		System.out.printf("%d%n", 15);
		System.out.printf("%s%n", Integer.toBinaryString(15));
		// 10진수를 2진 문자열로 바꿔줌

		float f = 123.456789f;
		System.out.printf("%f%n", f);
		// 정밀도 7자리

		double d = 123.456789;
		System.out.printf("%f%n", d);
		// double 은 정밀도 15자리니까 9자리 충분함
		System.out.printf("%e%n", d);
		System.out.printf("%g%n", d); // 소수점 포함해서 7자리로 표현

		System.out.printf("[%5d]%n", 10);
		System.out.printf("[%-5d]%n", 10);
		System.out.printf("[%05d]%n", 10); // 0을 공백 채움
		System.out.printf("[%5d]%n", 1234567); // 5자리만 지정해도 다 출력

		double i = 1.23456789;
		System.out.printf("%14.10f%n", i); // 전체 14자리에 소수점아래10자리
		System.out.printf("%14.6f%n", i); // 전체 14자리에 소수점아래6자리. 마지막 숫자는 반올림
		System.out.printf("%.6f%n", i); // 소수점아래6자리. 마지막 숫자는 반올림

		System.out.printf("[%s]%n", "www.codechobo.com");
		System.out.printf("[%20s]%n", "www.codechobo.com"); // 오른쪽 정렬
		System.out.printf("[%.10s]%n", "www.codechobo.com"); // 오른쪽 정렬


		
	}
}

 

 

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

10진수를 2진수로 출력해주는 지시자는 없기 때문에 정수를 2진 문자열로 변환해주는 Integer.toBinaryString(int i)를 사용해야한다. 이 메서드는 정수를 2진수로 변환해서 문자열로 반환하므로 지시자 %s를 사용했다. 

 

char 타입의 값을 int타입으로 형변환해야 '%d'로 출력할 수 있다. 

 

%f 는 소수점 아래 6자리까지만 출력하기 때문에 소수점 아래 7자리에서 반올림한다. 그래서 123.457로 출력

 지정된 숫자보다 문자열의 길이가 작으면 빈 자리는 공백을 출력.

공백이 있으면 기본적으로 우측 정렬, - 를 붙이면 좌측 정렬

.을 붙이면 문자열의 일부만 출력 가능 www.codech 

 

 

'JAVA > 변수 Variable' 카테고리의 다른 글

[JAVA] 형변환(casting)  (0) 2021.06.06
[JAVA] 화면에서 입력받기 -Scanner  (0) 2021.06.06
[JAVA] 상수와 리터럴(constant&literal)  (0) 2021.06.06
[JAVA] 기본형(primitive type)  (0) 2021.06.06
[JAVA] 변수의 타입  (0) 2021.06.06