
// 1. 문자
char character = 'o'; // o
char(문자; Character)는 작은따옴표(')를 사용하는 2바이트 기본 자료형으로 단일 글자만 저장 가능하다.
// 2. 문자열
String a = "아이유 사랑해요! \n";
String b = "아이유 화이팅!";
String c = a + b;
System.out.println(c);
아이유 사랑해요!
아이유 화이팅!
String(문자열; String)은 큰따옴표(")를 사용하는 참조 자료형으로 0개 이상의 문자를 저장하는 객체이다. 문자는 실제 문자 코드(숫자)를 저장하지만, 문자열은 문자들의 배열 주소를 관리하며 불변(immutable)의 특징을 갖는다.
String x = "아이유 짱!";
String y = "아이유 짱!";
System.out.println(x == y); // false
System.out.println(x.equals(y)); // true
따라서 위 코드처럼 x와 y의 할당된 문자열 자체는 같지만, 동등 연산자로 비교했을 경우 false가 나오게 된다. 해당 문자열이 저장된 주소가 서로 다르기 때문이다. 할당된 문자열 자체의 비교를 원한다면 .equals()를 사용하면 된다.
// .length() : 문자열 길이
String b = "아이유 화이팅!";
int d = b.length();
System.out.println(d); // 8
.length() : 문자열의 길이(length)는 공백(스페이스바)까지 포함하여 카운트한다.
// .replace(a, b) : 문자열 교체
String b = "아이유 화이팅!";
System.out.println(b); // 아이유 화이팅!
String r = b.replace("아이유", "IU");
System.out.println(r); // IU 화이팅!
.replace(교체 전, 교체 후) : 문자열 교체
.replaceAll(교체 전, 교체 후) : 해당 문자열 모두 교체
// .substring(start[, end]) : 문자열 추출
String iday = "1919/03/01";
String year = iday.substring(0, 4);
String month = iday.substring(5, 7);
String day = iday.substring(8);
System.out.println(year); // 1919
System.out.println(month); // 03
System.out.println(day); // 01
.substring(start[, end]) : 문자열의 start index부터 end index 앞까지 추출