일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- heap
- 코테준비
- 백준 1924번
- 카카오기출
- 객체프로그래밍이란
- 백준 1924번 java
- 자료구조 트리
- 카카오코테
- java
- 백준 1000번
- 자바문자열
- 백준
- 코딩테스트기출
- 객체프로그래밍
- Java heap
- java method
- 문자열포맷
- 카카오코딩테스트
- 프렌즈4블록
- 공부정리
- 카카오1차
- 백준 1000번 java
- 자료구조힙
- heap정렬
- 프로그래머스
- 힙정렬자바
- 자바
- 개발상식
- 프렌즈4블록java
- 알고리즘
- Today
- Total
일단 시작해보는 블로그
[Java] 문자열 포맷 - String.format(), System.out.printf() 본문
C언어에서 출력을 담당하는 printf() 함수와 같이 Java에서도 동일한 기능을 제공하는 메소드들이 존재한다.
JAVA 문자열 포맷
String 클래스의 format() : String.format()
PrintWriter 클래스와 PrintStream 클래스의 printf() 메소드 : System.out.printf()
String.format()은 결과값으로 포맷팅된 문자열을 반환하고 System.out.printf()는 포맷팅된 값을 출력해준다.
예시
포맷 명세자 (Format Specifier)
형식 : %[인자순서$][플래그][너비][정밀도]데이터타입
1. 데이터 타입
일반적으로는 이거만 외우면 된다.
정수 : %d
실수 : %f
문자열 : %s
불리언 : %b
2. 인자순서$
argument의 치환 순서를 지정하는 것.
1$는 첫번째, 2$는 두번째, 3$는 세번째, ... , n$는 n번째
System.out.println("%2$d + %1$d 은 %3$d 입니다." 10, 20, 30); // 20 + 10 = 30 입니다.
3. 플래그
부가적인 정보를 표시하기 위해 사용된다.
데이터를 왼쪽으로 정렬한다던가, 구분문자를 표시하는 등의 옵션을 설정하고 싶을 때 이용할 수 있다.
System.out.printf("%d + %d 은 %+d 입니다.", 10, 20, 30); //20 + 10 = +30 입니다.
4. 너비와 정밀도
너비는 데이터를 표현할 때 얼마 정도의 공간을 차지할 것인지를 지정하는 것
정밀도는 소수점 아래의 값을 몇 자리까지 표현할 것인지를 나타낸다. (정밀도는 '.숫자'형태로 표시한다.)
예를 들어 %5d는 5개의 문자를 표시할 만큼의 공간이 확보하게 되고
%5.2f는 5개의 문자를 표시할 만큼의 공간을 확보하고 그 중 2자리는 소수점 이하의 값을 표현하는데 사용된다.
System.out.printf("파이=%5.2f", Math.PI); //파이=3.14
-> 5자리를 표시할 수 있는 공간을 확보했지만 argument의 정수 값이 3이므로 남은 2자리는 사용하지 않게된다.
[REFERENCE]
'개발 > Java' 카테고리의 다른 글
[Java] String 다루기 - matches, regex (0) | 2019.08.22 |
---|---|
[Java] HashMap (0) | 2019.08.21 |
[Java] 정적 변수와 메소드 (static) (0) | 2019.08.08 |
[Java] call by value (0) | 2019.08.08 |
[Java] 메소드 (0) | 2019.08.08 |