Java: 연결과 연산
이번에는 문자 자료형의 연결과 연산에 대해 알아보겠습니다.
char형 변수 3개에 홍 길 동 이라는 문자를 대입하고
출력을 하면 원하는 결과가 나옵니다.
하지만 이렇게 하나씩 출력을 하면 귀찮기 때문에 한번에 처리를 하고 싶은 겁니다.
그러면 이렇게 순서에 맞게 + 를 사용해 주면 문자열로 연결이 되어서 동일한 결과가 나옵니다.
한 줄에 사용을 하니 번거로움이 줄어들었네요.
하지만 주의해야 할 점이 있습니다.
문자 자료형만 있는 상태에서 + 를 해주면 연산이 되어버립니다.
맨 위에 부터 보겠습니다.
원하는 결과는 홍길동이지만 145502가 출력이 되었네요.
이유는 문자 자료형끼리 + 를 해주면 연결이 아닌 연산이 된다고 말씀 드렸죠.
유니코드의 번호가 존재하는데 문자 하나하나에 전부 유니코드가 존재하는데
그 값이 더해져서 145502 라는 결과가 나오게 된 것입니다.
하지만 2번째 줄에 있는 것은 연산이 아니라 문자열 연결이 되었네요.
둘의 차이점은 문자열이 있고 없고의 차이 입니다.
"" <- 쌍따옴표는 문자열을 의미합니다.
프로그램은 위에서 아래로 왼쪽에서 오른쪽으로 가기 때문에 "" 문자열을 만나게 되고
"" + '홍' = "홍" 이라는 문자열로 연결이 된 것입니다.
다음으로 "홍" + '길' = "홍길"
이렇게 마지막까지 가서 "홍길동"이라는 문자열로 우리가 원하는 결과를 출력했습니다.
하지만 우선순위라는 것이 있기때문에 ()로 문자 자료형을 묶어주게 되면 괄호안에 있는 연산부터 하게 되어서
145502 라는 결과가 나오게 되고 그 값이랑 문자열을 연결해주어서
"145502" 라는 문자열이 나오게 됩니다.
사진에는 똑같은 145502 이지만 위에는 정수의 결과이고 밑에는 문자열의 결과입니다.