[JAVA] String 예제_2

정은아·2022년 7월 25일
package ja_0725;

public class String_2 {
	public static void main(String[] args) {
		
		int ii = 77;
		float ff = 45.78f;
		
		String str = "점수 : ";
		
		System.out.println(str + ii + ','+ ff);
		System.out.println(2 + 0 + 2 + 2 + "년");
		System.out.println("월드컵 : " + 2 + 0 + 2 + 2);
	}
} 

이 때의 출력값은 어떻게 나올까요?

점수 : 77,45.78
6년
월드컵 : 2022

이라는 출력값을 갖게 됩니다.

그렇다면 왜

System.out.println(str + ii + ','+ ff);
System.out.println(2 + 0 + 2 + 2 + "년");
System.out.println("월드컵 : " + 2 + 0 + 2 + 2);

의 값이 어떻게 다르게 나왔을까요?

첫번째줄은 (string + int + char + float)의 형태를 띄게 됩니다.
string + int = string
string + char = string
string + float = string이 나옵니다.

그래서 모든 열이 문자로 출력된 것입니다.

두번째 줄과 세번째줄은 얼추 비슷해보이는데 다른 값을 갖고있습니다.
왜일까요?

int + int = int 입니다.
그렇게 2022가 아닌 2+0+2+2가 되어 6 의 값이 나오고
거기에 string값이 더해진 것이죠

마지막줄은 어떨까요? string값이 먼저 나오게 된다면 그 뒤의 문자나 상수들은 모두 string으로 바뀌어 출력됩니다.

그렇기 때문에 월드컵 : 2022로 나오게 된 것입니다.

그렇다면 두번째 줄 "년" 뒤에 다시 2+0+2+2가 나오게 된다면
6 년 6이 출력될지 6년 2022가 출력될지 궁금하겠지요?

정답은 후자입니다. 문자열 string 후에는 상수가 문자 그대로 출력되기 때문입니다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글