어제 오늘 내일

[Java String] String.format() – 문자열 포맷팅 깔끔하게 본문

IT/Java

[Java String] String.format() – 문자열 포맷팅 깔끔하게

hi.anna 2025. 9. 14. 12:25

Java에서 문자열을 다루다 보면 변수 값을 문자열에 끼워 넣거나, 숫자/날짜를 특정 형식으로 맞춰 출력해야 할 때가 있습니다.
이때 가장 유용하게 쓰이는 도구가 String.format()입니다.

 

1. 기본 사용법

public static String format(String format, Object... args)
  • format: 포맷 문자열(출력 형식 지정)
  • args: 포맷 문자열에 삽입할 값들
String result = String.format("이름: %s, 나이: %d", "홍길동", 25);
System.out.println(result);

출력:

이름: 홍길동, 나이: 25

👉 %s, %d 같은 포맷 기호를 활용해 변수 값을 문자열에 삽입할 수 있습니다.

 

2. 자주 쓰이는 포맷 기호

  • %s → 문자열(String)
  • %d → 정수(int, long)
  • %f → 실수(float, double)
  • %c → 문자(char)
  • %n → 줄바꿈(플랫폼 독립적)
System.out.println(String.format("정수: %d, 실수: %.2f", 10, 3.14159));

출력:

정수: 10, 실수: 3.14

👉 %.2f처럼 소수점 자리수를 지정할 수도 있습니다.

 

3. 문자열 정렬과 폭 지정

String.format()을 이용하면 문자열이나 숫자를 왼쪽/오른쪽 정렬하고 출력 폭을 지정할 수 있습니다.

System.out.println(String.format("|%10s|", "Java"));   // 오른쪽 정렬
System.out.println(String.format("|%-10s|", "Java"));  // 왼쪽 정렬

출력:

|      Java|
|Java      |

👉 %10s는 문자열 폭을 10칸 확보 후 오른쪽 정렬, %-10s는 왼쪽 정렬을 의미합니다.

 

4. 숫자 포맷팅

int number = 1234;
System.out.println(String.format("%,d", number));

출력:

1,234

👉 %,d를 사용하면 숫자에 자동으로 천 단위 콤마를 붙일 수 있습니다.

 

5. 날짜 포맷팅

String.format()은 날짜도 원하는 형식으로 표현할 수 있습니다.

import java.util.Date;

Date now = new Date();
String result = String.format("%tY-%tm-%td %tH:%tM:%tS", now, now, now, now, now, now);
System.out.println(result);

출력 예시:

2025-08-22 14:35:07

👉 %tY(연도), %tm(월), %td(일), %tH(시), %tM(분), %tS(초)처럼 세부 포맷을 지정할 수 있습니다.

 

6. 정리

  • String.format()은 문자열 안에 값 삽입 및 형식 지정에 유용
  • %s, %d, %f 등 다양한 포맷 기호 제공
  • 정렬, 폭 지정, 소수점 자리수 제어 가능
  • 숫자 천 단위 구분, 날짜 포맷 등도 지원

👉 문자열 출력 포맷을 깔끔하게 맞추고 싶다면 String.format()이 정답이다!

 

 

반응형
Comments