남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다.
println()의 단점 - 출력 형식 지정 불가
- 실수의 자리수 조절 불가
ex) System.out.println(10.0/3); // 3.333333
- 10진수로만 출력
System.out.println(0x1A); //26
printf()
- 출력 형식 지정 가능
System.out.printf("%.2f", 10.0/3); // 3.33 소수점 둘째 자리 까지 출력
System.out.printf("%d", 0x1A); // 26 10진수
System.out.printf("%X", 0x1A); //1A 16진수
( printf()는 println() 처럼 자동 줄바꿈 X )
printf() 지시자
지시자 | 설명 |
%b | 불리언(boolean) 형식으로 출력 |
%d | 10진(decimal) 정수의 형식으로 출력 |
%o | 8진(octal) 정수의 형식으로 출력 |
%x, %X | 16진(hexa_decimal) 정수의 형식으로 출력 |
%f | 부동 소수점의 형식으로 출력 |
%e, %E | 지수 표현식의 형식으로 출력 |
%c | 문자로 출력 |
%s | 문자열로 출력 |
예제
- 정수를 10진수, 8진수, 16진수, 2진수로 출력
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진수 s는 문자열 출력
- 8진수와 16진수에 접두사 붙이기
System.out.printf("%#o", 15) ; // 017
System.out.printf("%#x", 15); // 0xf
System.out.printf("%#X", 15); // 0XF
- 실수 출력을 위한 지시자 %f
- 지수형식 %e (간략한 형식 %g)
float f = 123.4567890f;
System.out.printf("%f", f); // 123.456787 소수점아래 6자리
System.out.printf("%e",f); // 1.23458e+02 지수 형식
*float는 정밀도가 7이여서 7자리까지 정확 뒤의 숫자는 의미없는 숫자
double은 정밀도가 15 따라서 15자리까지 정확!
double f = 123.456789;
System.out.printf("%f%n", f); //123.456789
System.out.printf("%e%n", f); //1.234568e+02
System.out.printf("%g,%n",f); //123.457
System.out.printf("[5d]%n", 10); //[ 10] 5자리 출력
System.out.printf("[5d]%n", 123456); // [123456] 5자리 출력이지만, 입력이 123456이라서 [123456] 출력
System.out.printf("[%-5d]%n", 10); // [10 ] -는 왼쪽정렬
System.out.printf("[%05d]%n', 10); //[00010] 빈자리는 0을 붙임
%전체자리.소수점아래자지f
System.out.printf("%14.10f%n", d); // 전체 14자리 중 소수점 아래 10자리
소수점 앞자리의 경우 빈자리는 공백, 소수점 뒷자리의 경우 빈자리는 0
문자열의 경우 지시자 s 사용
System.out.printf("[%s]%n", url) ; //[www.codechobo.com]
System.out.printf("[%20s]%n", url); //[공백www.codechobo.com]
System.out.rpintf("[%-20s]%n", url); //[www.codechobo.com공백]
System.out.printf("[.8s]%n", url); // 문자열의 일부만 출력 가능 [www.code] 전체 문자열 중 8글자만 출력
'프로그래밍 > JAVA' 카테고리의 다른 글
자바의 정석 기초 ( 타입간 변환방법 / 숫자 변환 / 문자 변환 / 문자열 변환) (0) | 2020.06.17 |
---|---|
자바의 정석 기초 ( 화면 입력 Scanner) (0) | 2020.06.16 |
자바의 정석 기초 (변수 / 상수 / 리터럴 / 변수의 타입 / 기본형의 종류와 크기) (0) | 2020.06.15 |
자바의 정석 기초 (이클립스 단축키 / 소스 파일 가져오기 / 소스파일 내보내기) (0) | 2020.06.12 |
자바의 정석 기초 ( eclipse 설치 / 이클립스 자바 프로그램 작성 순서 / Build 관련 메뉴 ) (0) | 2020.06.09 |
댓글