☕ Ex01.java
String str1 = "%s의 둘레는 반지름 X %d X %f입니다.";
String circle = "원";
int two = 2;
double PI = 3.14;
// 💡 formatted : 주어진 형식에 따라 문자열 생성
// ⭐️ 13+버전에 추가됨. 편의상 강의에서 많이 사용할 것
String str2 = str1.formatted(circle, two, PI);
// 💡 이전 버전에서의 방식. 실무에서 사용하려면 기억
String str3 = String.format(str1, circle, two, PI);
%b | 불리언 |
---|---|
%d | 10진수 정수 |
%f | 실수 |
%c | 문자 |
%s | 문자열 (및 모든 자료형) |
%n | (포맷 문자열 내 바꿈) |
// ⭐️ 시스템의 printf 메소드 : String.format과 같은 형식으로 출력
// 줄바꿈을 하지 않으므로 직접 넣어줘야 함
System.out.printf("%s의 둘레는 반지름 X %d X %f입니다.%n", circle, two, PI);
%n
은 OS별로 일정하게 줄바꿈이 되도록 적절한 개행문자를 넣어줌
\\r\\n
, 맥&리눅스 : \\n
☕ Ex02.java
System.out.printf("%d, %5d, %05d%n- - - - -%n%n", 123, 123, 123);
// 💡 정수 다양하게 포매팅하기
String[] intFormats = {
"%d", // 1. 기본
"%13d", // 2. n 자리수 확보, 오른쪽 정렬
"%013d", // 3. 빈 자리수 0으로 채움
"%+13d", // 4. 양수는 앞에 + 붙임
"%,13d", // 5. 쉼표 사용
"%-13d", // 6. 자리수 확보, 왼쪽 정렬
"%+,013d" // 7.
};
String[] intResults = new String[intFormats.length];
// 이후의 배울 for 반복문
// - 위의 형식들로 하나하나 출력해보는 코드
for (var i = 0; i < intFormats.length; i++) {
String format = (i + 1) + ". ";
for (var j = 0; j < 4; j++) {
format += intFormats[i] + " ";
}
format = format.trim() + "%n%n"; // "%d %d %d %d%n%n" ...
// System.out.println(format); // 🔍 주석해제하여 함께 확인
// 🔍 이 숫자들을 스페이스로 구분해서 출력해 볼 것
System.out.printf(format, 12, 2345, 67890, -1234567);
// ⭐️ formatted 메소드에서도 사용 가능
intResults[i] = format.formatted(12, 2345, 67890, -1234567);
}