- String 클래스
String 클래스
1. 클래스 중 유일하게 대입연산자(=)로 객체 생성이 가능함.
2. 클래스 중 유일하게 + 연산자 사용 가능.
3. 정적인 문자열. (변경불가 문자열)
4. final 클래스임. => 변경불가, 상속불가, 부모클래스가 될 수 없음.
📌
package chap11;
// class MyString extends String {} //상속불가
public class StringEx1 {
public static void main(String[] args) {
String s1 = "abc"; //대입연산자로 객체 생성
String s2 = "abc"; //대입연산자로 객체 생성
String s3 = new String("abc"); //new 객체 생성
String s4 = new String("abc"); //new 객체 생성
if(s1 == s2) System.out.println("s1 == s2 : 같은 객체"); //참조값 같다
else System.out.println("s1 != s2 : 다른 객체");
if(s3 == s4) System.out.println("s3 == s4 : 같은 객체");
else System.out.println("s3 != s4 : 다른 객체"); //참조값이 다르다
if(s1.equals(s2)) System.out.println("s1.equals(s2) : 같은 내용");
else System.out.println("! s1.equals(s2) : 다른 내용");
if(s3.equals(s4)) System.out.println("s3.equals(s4) : 같은 내용");
else System.out.println("! s3.equals(s4) : 다른 내용");
}
}
- String 클래스
String 정적인 문자열임
=> main 메서드에서 change 메서드 이후에 ABC123456 출력되도록 프로그램 수정
📌
package chap11;
public class StringEx2 {
public static void main(String[] args) {
String str = "ABC123";
System.out.println("main change 전 :" + str);
// change(str);
str = change(str);
System.out.println("main change 후 :" + str);
}
/*
private static void change(String str) {
str += "456";
System.out.println("change : " + str);
}
*/
private static String change(String str) {
str += "456";
System.out.println("change : " + str);
return str;
}
}
- String 클래스의 메서드
📌
package chap11;
public class StringEx3 {
public static void main(String[] args) {
String s = new String("ABCDEFGH");
//s.charAt(4) : s 문자열에서 4번인덱스에 해당하는 문자 한개 리턴.
System.out.println("s.charAt(4):" + s.charAt(4)); //E
//s.compareTo("abc") : 정렬에서 사용되는 메서드. 대소문자 구분
// 결과 음수 : s 문자열이 abc 문자열 보다 앞쪽
// 결과 양수 : s 문자열이 AAA 문자열 보다 뒤쪽
System.out.println("s.compareTo('abc'):" + s.compareTo("abc"));
System.out.println("s.compareTo('AAA'):" + s.compareTo("AAA"));
//IgnoreCase : 대소문자 상관없음
//s.compareToIgnoreCase("abc") : 대소문자 구문없이 정렬에 사용됨
System.out.println("s.compareToIgnoreCase('abc'):"
+ s.compareToIgnoreCase("abc"));
//s.endsWith("GH") : s 문자열의 끝이 GH? 여부
System.out.println("s.endsWith('GH'):"+s.endsWith("GH")); //true
//s.startsWith("GH") : s 문자열의 시작이 AB? 여부
System.out.println("s.startsWith('AB'):"+s.startsWith("AB")); //true
//s.equals("ABCDEFGH") : s 문자열이 "ABCDEFGH" 문자열과 같은지 여부
System.out.println("s.equals('ABCDEFGH'):"+s.equals("ABCDEFGH")); //true
//s.equalsIgnoreCase("ABCDEFGH") : s 문자열이 대소문자 상관없이
// "abcdefgh" 문자열과 같은지 여부
System.out.println("s.equalsIgnoreCase('abcdefgh'):"
+s.equalsIgnoreCase("abcdefgh")); //true
s = "This is a String";
//s.indexOf('i') : i 문자의 위치(인덱스) 리턴
System.out.println("s.indexOf('i'):" + s.indexOf('i'));//2
//s.indexOf('i',3) : 3번인덱스부터 i 문자의 위치(인덱스) 리턴
System.out.println("s.indexOf('i',3):" + s.indexOf('i',3));//5
// 해당 문자가 없는 경우 -1 리턴
System.out.println("s.indexOf('Q'):" + s.indexOf('Q'));//-1
//s.lastIndexOf('i') : 뒤쪽에서 i 문자의 위치.
// 리턴 인덱스값은 앞부터 시작
System.out.println("s.lastIndexOf('i'):" + s.lastIndexOf('i'));//13
//s.length() : 문자열의 길이 리턴
System.out.println("s.length():" + s.length());
//s.replace("is","QR") : 문자열 치환
System.out.println("s.replace('is','QR'):" + s.replace("is","QR"));
System.out.println("s.replace('is',''):" + s.replace("is",""));
//substring : 부분문자열
//s.substring(5) : 5번 인덱스 부터 이후 부분만 리턴
System.out.println("s.substring(5):" + s.substring(5));//is a String
//s.substring(5,13) : 5번 인덱스부터 13번인덱스 앞까지 부분만 리턴
// 5번 인덱스부터 12번인덱스까지 부분만 리턴
System.out.println("s.substring(5,13):" + s.substring(5,13));//is a Str
//toUpperCase : 대문자 변경
System.out.println("s.toUpperCase():" + s.toUpperCase());
//toLowerCase : 소문자 변경
System.out.println("s.toLowerCase():" + s.toLowerCase());
s = " 문자열 trim 메서드 ";
System.out.println("s:"+s);
//s.trim() : 양쪽 공백 제거
System.out.println("s.trim():"+s.trim());
System.out.println("s.length():" + s.length());
System.out.println("s.trim().length():" + s.trim().length());
s = "홍길동,이몽룡,김삿갓";
String[] arr = s.split(",");
for(String sr : arr) System.out.println(sr);
}
}
'수업(국비지원) > Java' 카테고리의 다른 글
| [Java] chap11: 기본 API(패키지 클래스) - String.format 메서드 (0) | 2023.04.16 |
|---|---|
| [Java] chap11: 기본 API(패키지 클래스) - 기본 API Exam2.(count 메서드 구현) (0) | 2023.04.16 |
| [Java] chap11: 기본 API(패키지 클래스) - 기본 API Exam1 (0) | 2023.04.16 |
| [Java] chap11 : 기본 API (패키지 클래스) - Object 클래스, hashCode(), toString() (0) | 2023.04.16 |
| [Java] chap10 : 내부 클래스 - 람다 Exam 1-2 (0) | 2023.04.16 |