package chapter12object;

public class StringTest2 {

public static void main(String[] args) {

//length

String str = "아름다운 우리나라";

System.out.println("길이: " + str.length());

System.out.println("2번째 문자: " + str.charAt(2));

System.out.println();

//indexof ,lastIndexOf

String str2 = "String Search Method of String Class";

System.out.println("앞쪽 t = " + str2.indexOf('t')); //indexOf 메서드는 지정된 문자 또는 부분 문자열이 처음으로 나타나는 위치를 반환//만약 해당 문자 또는 부분 문자열이 없으면 -1을 반환.

System.out.println("뒤쪽 t = " + str2.lastIndexOf('t')); //lastIndexOf 메서드는 지정된 문자 또는 부분 문자열이 마지막으로 나타나는 위치를 반환//또한 해당 문자 또는 부분 문자열이 없으면 -1을 반환

System.out.println("앞쪽 z = " + str2.indexOf('z'));//없으니까 -1 반환

System.out.println("앞쪽 String = " + str2.indexOf("String"));

System.out.println("앞쪽 String = " + str2.lastIndexOf("String"));

//첫 번째 "String"은 0번째 인덱스에서 시작하고, 두 번째 "String"은 24번째 인덱스에서 시작합니다. 

//그 다음에 나오는 인덱스는 문자열의 시작점부터 몇 번째 위치에 있는지를 나타냅니다. 

//따라서 두 번째 "String"의 인덱스는 24가 되어야 합니다.

//startWith , endWith

String str3 = "girl.jpg";

System.out.println(str3.startsWith("g"));

System.out.println(str3.endsWith (".jpg"));

System.out.println();

//startsWith 메서드는 주어진 접두사로 시작하는지 여부를 반환합니다. 

//여기서 "g"는 접두사이고, 이는 str 문자열이 "g"로 시작하는지 여부를 확인합니다.

//endsWith 메서드는 주어진 접미사로 끝나는지 여부를 반환합니다. 

//여기서 ".jpg"는 접미사이고, 이는 str3 문자열이 ".jpg"로 끝나는지 여부를 확인합니다.

//changeCase

String str4 = "Kim Sang Hyung";

System.out.println(str4.toLowerCase()); //문자의 대소문자 변경 -> 메서드는 문자열의 모든 문자를 소문자로 변환

System.out.println(str4.toUpperCase()); //문자의 대소문자 변경 -> 메서드는 문자열의 모든 문자를 대문자로 변환

//문자열 자체를 변경하는 것은 아니다 // 문자열을 변경하는 것이 아니라 대문자로 변환된 새로운 문자열을 반환합니다. 원래의 문자열은 변경되지 않음

str4.toUpperCase();

System.out.println(str4);

//문자열을 변경하려면 저장해야한다

str4 = str4.toUpperCase();

System.out.println(str4);

System.out.println();

//trim

String str5 = " Kim Sang Hyung ";

System.out.println(str5.trim());

System.out.println(str5.trim().concat(" BABO"));

System.out.println();

//replace

String str6 = "독도는 일본땅. 대마도는 일본땅";

System.out.println(str6.replace("일본", "한국")); //replace() 메서드는 문자열에서 모든 발생을 대체 즉, "일본"이라는 문자열을 "한국"으로 모두 대체합

System.out.println(str6.replaceFirst("일본", "한국")); //replaceFirst() 메서드는 문자열에서 첫 번째 발생만 대체. 즉, 첫 번째 "일본"이라는 문자열만 "한국"으로 대체합니다.

System.out.println();

//substring

String str7 = "01234546789";

System.out.println(str7.substring(3,7)); //시작 인데스 마지막 인덱스 전까지

System.out.println();

System.out.println(str7.substring(7));

//split

String city = "서울,대전,대구,부산"; 

String[] token = city.split(","); //split(",")은 문자열을 쉼표(,)를 기준으로 분할하여 문자열 배열에 저장

for (String s : token) {

System.out.println(s);

}

System.out.println();

//join

String path = String.join("/", "user","date","app","local"); //String.join() 메서드는 첫 번째 매개변수로 구분자를 지정하고, 나머지 매개변수로 결합할 문자열들을 나열함.이 메서드는 주어진 구분자로 문자열을 결합한 결과를 반환합니다.

System.out.println(path);

}

}

Untitled