Java 출력 함수 — print, println, printf와 문자열 결합
요약
Java의 출력 함수 System.out.print(), println(), printf()의 차이점과 + 연산자를 이용한 문자열 결합 규칙을 정리합니다. 정보처리기사 실기에서 출력 결과를 정확히 쓰기 위한 핵심 개념입니다.
핵심 정리
| 개념 | 설명 |
|---|---|
System.out.print() | 출력 후 줄바꿈 없음 |
System.out.println() | 출력 후 줄바꿈 |
+ 문자열 결합 | 한쪽이 문자열이면 나머지도 문자열로 변환하여 이어붙임 |
+ 계산 순서 | 왼쪽에서 오른쪽으로 순서대로 계산 |
System.out.printf() | 서식 지정자(%d, %s, %f)로 형식을 지정하여 출력, 줄바꿈 없음 |
print()와 println()의 차이 쌩기초
Java에서 화면에 값을 출력할 때 System.out.print()와 System.out.println() 두 가지를 사용합니다. System.out1을 앞에 붙여야 화면에 출력됩니다. 차이는 출력 후 줄바꿈을 하느냐 안 하느냐입니다.
두 메서드2의 차이를 표로 정리하면 다음과 같습니다.
| 메서드 | 줄바꿈 |
|---|---|
System.out.print() | 안 함 |
System.out.println() | 함 |
+ 연산자로 문자열 결합 기초
Java에서 + 연산자는 양쪽이 모두 숫자이면 덧셈을 합니다. 하지만 한쪽이라도 문자열이면 나머지도 Java가 알아서 문자열로 바꾸어 이어붙입니다.
계산 순서에 주의 — 왼쪽에서 오른쪽으로
+ 연산자는 왼쪽에서 오른쪽으로 순서대로 계산됩니다. 어디서 문자열이 등장하느냐에 따라 결과가 완전히 달라집니다.

왼쪽부터 계산합니다:
1 + 2→ 양쪽 모두 숫자 → 덧셈 → 33 + "감자"→ 한쪽이 문자열 → 이어붙이기 → "3감자"
출력: 3감자
"감자" + 1→ 한쪽이 문자열 → 이어붙이기 → "감자1""감자1" + 2→ 한쪽이 문자열 → 이어붙이기 → "감자12"
출력: 감자12
빈 문자열 "" 활용
숫자를 문자열로 바꾸고 싶을 때 빈 문자열 ""을 더하는 패턴이 시험에 종종 출제됩니다.
String3은 문자열을 담는 타입입니다.
printf()로 서식 출력 기초
printf()는 서식 지정자4를 사용하여 출력 형식을 지정합니다. print()와 마찬가지로 줄바꿈을 하지 않지만, %d 같은 서식 지정자로 출력 형식을 세밀하게 지정할 수 있다는 점이 다릅니다.
서식 지정자는 여러 개 사용할 수 있습니다. 순서대로 뒤에 나열한 값이 채워집니다.
주요 서식 지정자
| 서식 지정자 | 의미 | 예시 |
|---|---|---|
%d | 정수(1, 42 같은 소수점 없는 숫자) | printf("%d", 42) → 42 |
%s | 문자열 | printf("%s", "감자") → 감자 |
%f | 실수 (소수점 6자리) | printf("%f", 3.14) → 3.140000 |
%c | 문자 1개 | printf("%c", 'A') → A |
%% | % 기호 자체 | printf("100%%") → 100% |
%f는 소수점 이하 6자리를 출력하며, 자리가 부족하면 0으로 채웁니다. 3.14를 출력하면 3.140000이 되는 이유입니다.
%c는 작은따옴표로 감싼 문자 1개를 출력합니다. 작은따옴표('A')는 문자 하나를, 큰따옴표("A")는 문자열을 나타내는 점이 다릅니다.
자릿수 지정
서식 지정자에 숫자를 넣어 자릿수를 지정할 수 있습니다.
%5d는 총 5칸을 확보한 뒤 숫자를 오른쪽에 맞춥니다. 42는 2자리이므로 5 - 2 = 3칸이 왼쪽에 빈칸으로 남습니다.