[출처] 신용권 / 이것이 자바다 / 한빛미디어
- %~conversion
- arguement_index$
- flags
- width
- .precision
- %는 형식 문자열의 시작
- conversion (변환 문자)
- 제공되는 값의 타입에 따라 d(정수), f(실수), s(문자열)가 온다.
- 예) System.out.printlf("이름: %s", "김자바"); ▶ 이름: 김자바
- 예) System.out.printf("나이: %d", 25); ▶ 나이: 25
- 형식 문자열에 포함될 값이 두 개 이상일 경우에는 값의 순번(argument_index$)을 포함시켜야 한다. 예를 들어 1$는 첫 번째 값.
- 예) System.out.printf("이름: %1$s, 나이: %2$d", "김자바", 25); ▶ 이름: 김자바, 나이: 25
- flags는 빈 공간을 채우는 방법이다.
- 생략 ▶ 왼쪽이 공백
- - ▶ 오른쪽이 공백
- 0 ▶ 공백이 0으로 나온다.
- width는 소수점을 포함한 전체 자릿수
- .precision은 소수 이하 자릿수
[자주 사용되는 형식 문자열]
형식화된 문자열 | 설 명 | 출력 형태 | |
정 수 | %d | 정수 | 123 |
%6d | 6자리 정수. 왼쪽 빈자리 공백 | ___123 | |
%-6d | 6자리 정수. 오른쪽 빈자리 공백 | 123___ | |
%06d | 6자리 정수. 왼쪽 빈자리 0 채움 | 000123 | |
실 수 | %10.2f | 정수 7자리+소수점+소수 2자리 왼쪽 빈자리 공백 |
____123.45 |
%-10.2f | 정수 7자리+소수점+소수 2자리 오른쪽 빈자리 공백 |
123.45____ | |
%010.2f | 정수 7자리+소수점+소수 2자리 왼쪽 빈자리 0 채움 |
0000123.45 | |
문자열 | %s | 문자열 | abc |
%6s | 6자리 문자열. 왼쪽 빈자리 공백 | ___abc | |
%-6s | 6자리 문자열. 오른쪽 빈자리 공백 |
abc___ | |
특수문자 | \t | 탭(tab) | |
\n | 줄바꿈 | ||
%% | % | % |
- package ch02.sec12;
- public class PrintfExample {
- public static void main(String[] args) {
- int value = 123;
- System.out.printf("상품의 가격:%d원\n", value);
- System.out.printf("상품의 가격:%6d원\n", value);
- System.out.printf("상품의 가격:%-6d원\n", value);
- System.out.printf("상품의 가격:%06d원\n", value);
- double area = 3.14159 * 10 * 10;
- System.out.printf("반지름이 %d인 원의 넓이:%10.2f\n", 10, area);
- // 10^2 × 3.14159 = 314.159 = 314.16
- String name = "홍길동";
- String job = "도적";
- System.out.printf("%6d | %-10s | %10s\n", 1, name, job);
- }
- public static void main(String[] args) {
- }
실행 결과 :
상품의 가격:123원
상품의 가격: 123원
상품의 가격:123 원
상품의 가격:000123원
반지름이 10인 원의 넓이: 314.16
1 | 홍길동 | 도적
반응형
'생활 기록' 카테고리의 다른 글
Java | 논리 연산자 (0) | 2023.07.18 |
---|---|
Java | 문자열을 기본 타입으로 변환 (0) | 2023.07.14 |
Java | 정수타입별 메모리 크기 / 저장값 (0) | 2023.07.13 |
수학 | 삼각비 (0) | 2023.07.11 |
자바 | 랜덤수 1~10 맞추기 (Math / for / if /Scanner) (0) | 2023.07.07 |