< 문자열을 선언한 변수에 할당하는 방법 >
ex)
String str1 = "안녕하세요!";
String str2 = new String("반갑습니다.");
System.out.println(str1); //안녕하세요!
System.out.println(str2); //반갑습니다.
str1, str2는 실제 문자열의 값으로 가지고 있는 것이 아니라, 문자열이 존재하는 메모리 공간 상의 주소값을 저장하고 있다.
String 타입의 변수를 참조하면 String 클래스의 메서드인 toString()이 자동으로 호출되기 때문에 주소값이 아니라 문자열이 나오는 것이다.
🔆 String 변수 = "문자열";
String str1 = "안녕";
String str2 = "안녕";
🔆 String 변수 = new String("문자열");
String str3 = new String("안녕");
String str4 = new String("안녕");
1. charAt() 메서드
해당하는 문자열의 특정 인덱스에 해당하는 문자를 반환한다.
String str = new String("Java");
System.out.println(str.charAt(0)); //J
System.out.println(str.charAt(1)); //a
System.out.println(str.charAt(2)); //v
System.out.println(str.charAt(3)); //a
2. compareTo() 메서드
대소문자 구분하여 문자열을 사전편찬순으로 비교한다.
두 문자열이 같다면 0을 반환한다.
문자열이 인수로 전달된 문자열보다 작으면 음수, 크면 양수를 반환한다.
String str = new String("Java");
System.out.println(str.compareTo("java")); //-32
System.out.println(str.compareTo("JAVA")); //32
System.out.println(str.compareTo("Java")); //0
System.out.println(str.compareToIgnoreCase("jAva")); //0
2.1 compareToIgnoreCase()
대소문자 구분없이 문자열 비교.
3. concat() 메서드
해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환한다.
String str = new String("Java");
System.out.println(str); //Java
System.out.println(str.concat("랑 String")); //Java랑 String
System.out.println(str); //Java
4. indexOf() 메서드
해당하는 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환.
문자열이 포함되어있지 않다면 -1을 반환
String str = new String("Hi Java");
System.out.println(str.indexOf('j')); // -1
System.out.println(str.indexOf('a')); //4
System.out.println(str.indexOf("Java")); //3
System.out.println(str);//Hi Java
5. trim()메서드
해당 문자열의 맨 앞과 맨뒤에 포함된 공백 문자 제거
String str = new String(" Java ");
System.out.println(str.trim() + '|'); //Java|
6. toLowerCase()
해당 문자열의 모든 문자를 소문자로 변환
String str = new String("JAva");
System.out.println(str.toLowerCase()); //java
System.out.println(str); //JAva
7. toUpperCase()
해당 문자열의 모든 문자를 대문자로 전환
String str = new String("JAva");
System.out.println(str.toUpperCase()); //JAVA
System.out.println(str); //JAva