1. 문자 리터럴과 문자열 리터럴
문자 리터럴 : 작은따옴표로 문자 하나를 감싼 것. ex) 'A', 'B', 'C'
문자열 리터럴(String) : 큰따옴표로 두 문자 이상을 감싼 것. ex) "사랑", "믿음", "소망"
char ch = 'J'; // char ch = 'Java'; 이렇게 할 수 없음
String name = "Java"; // 변수 name에 문자열 리터럴 "Java"를 저장
문자열 리터럴은 큰따옴표 안에 아무런 문자도 넣지 않는 것을 허용하며, 이를 '빈 문자열(empty string)'이라고 한다. 그러나 문자 리터럴은 작은따옴표 안에 반드시 하나의 문자가 있어야 한다.
String str = " "; // 내용이 없는 빈 문자열
char ch = ''; // 에러. 작은따옴표 안에는 반드시 하나의 문자가 필요
char ch = ' '; // 공백 문자(blank)로 변수 ch를 초기화
2. 덧셈 연산자를 이용한 문자열 결합
덧셈 연산자(+)는 피연산자가 모두 숫자일 때는 두 수를 더하지만, 피연산자 중 어느 한쪽이 '문자열 리터럴(String)'이면 나머지 한쪽을 '문자열 리터럴'로 변환한 다음 두 문자열을 결합한다.
문자열 + any type → 문자열 + 문자열 → 문자열
any type + 문자열 → 문자열 + 문자열 → 문자열
* 덧셈 연산자는 왼쪽에서 오른쪽의 방향으로 연산을 수행하기에, 결합 순서에 따라 결과가 달라진다.
String name = "Ja" + "va"; // name은 "Java"
String str = name + 8.0; // str은 "Java8.0"
- 예제 StringEx.java
class StringEx {
public static void main(String[] args) {
String name = "Ja" + "va"; // String 첫글자는 대문자
String str = name + 8.0;
System.out.println(name);
System.out.println(str);
System.out.println(7 + " ");
System.out.println(" " + 7);
System.out.println(7 + "");
System.out.println("" + 7);
System.out.println("" + "");
System.out.println(7 + 7 + ""); // 덧셈기호는 진행방향이 중요. 산술방향 왼->오
System.out.println("" + 7 + 7);
// --------------------------------------------------------------------------
System.out.println(7 + '7'); // 62. 문자형에서 '48'은 '0'(ASCII문자)
}
}
참고문헌 : 남궁성(2016), Java의 정석, 도우출판