java를 처음 배우다 보면 String(문자형) + int(정수형) 연산 코드가 헷갈릴 때가 있어서 정리해 보려고 합니다.
System.out.println("10" + 20);
↑ ↑ ↑ 이런 코드가 헷갈릴 때가 있다.
결과가 30일까? 아니면 1020일까? 정답은 1020이다. 왜 이런 결과가 나오는지 하나씩 차근차근 봐보자.
1. JAVA에서 + 연산자의 의미는?
- JAVA에서 + 연산자는 두 가지 역할을 한다.
| 상황 | 의미 |
| 숫자 + 숫자 | 덧셈 |
| 문자열 + 숫자 | 문자열 연결(결합!!!) |
2. String + int 연산의 기본 원리
String str = "10";
int num = 20;
System.out.println(str + num);
실행결과
1020
왜 이렇게 될까???
- str이 String 타입이고
- JAVA는 num(int)을 자동으로 String으로 변환한다.
- "10" + "20" ㅡㅡㅡ> "1020"
- 즉... 문자열이 기준이 된다.
3. 연산 순서에 따라 결과가 달라진다. (예제)
System.out.println("결과: " + 10 + 20);
실행결과
결과: 1020
- 연산은 왼쪽부터 차례대로 실행된다.
- "결과: " + 10 ㅡㅡㅡ> "결과: 10:
- "결과: 10" + 20 ㅡㅡㅡ> "결과: 1020"
4. 원하는 덧셈 결과를 얻으려면...???
System.out.println("결과: " + (10 + 20));
실행결과
결과: 30
괄호로 숫자 연산을 먼저 수행해야 한다.
5. int + String도 동일하게 동작한다.
System.out.println(10 + "20");
실행결과
1020
- 숫자 + 문자열
- 문자열이 하나라도 있으면 ㅡㅡㅡ> 문자열 결합
6. 숫자로 계산하고 싶으면...? ( String ㅡㅡㅡ> int 변환)
문자열 안에 숫자가 들어가 있다면, 형 변환을 통해 계산할 수 있다.
String str = "10";
int num = 20;
-- 문자열 ㅡ> 정수형 변환
int result = Integer.parseInt(str) + num;
System.out.println(result);
실행결과
30
7. 실무에서 자주 하는 실수!!!
int result = "10" + 20; -- 컴파일 에러
- 문자열 결합 결과는 String
- int 변수에 넣을 수 없다. 주의하자!!!
올바른 코드
-- 형 변환을 해주자.
int result = Integer.parseInt("10") + 20;
8. 한눈에 정리 해보자.
| 코드 | 결과 |
| "10" + 20 | "1020" |
| 10 + 20 + "30" | "3030" |
| "10" + 20 + 30 | "102030" |
| "결과: " + (10 + 20) | "결과: 30" |
| Integer.parseInt("10") + 20 | 30 |
핵심 요약
String이 하나라도 있으면 +는 문자열 결합이 된다. 숫자 계산을 원하면 괄호 또는 형 변환 필수. 문자열 ㅡㅡㅡ> 정수 변환은 Integer.parseInt()를 사용하자. 오늘은 자바에서 String + int 연산 정리를 해보았습니다. 헷갈릴 수도 있기 때문에 한 번쯤은 정리를 해두는 것이 좋을 거 같습니다. 감사합니다. (_ _)
'자바[JAVA]' 카테고리의 다른 글
| [자바] int를 String으로, String을 int로 변환하는 방법 정리 (0) | 2025.12.17 |
|---|