1. 문자열.charAt(int index) : 반환형 char
=> 문자열에서 전달받은 index 위치의 문자 하나만 뽑아서 리턴
String str1 = "Hell world";
char ch = str1.charAt(4);
System.out.println("ch : "+ ch); // 결과: 공백 출력
2. 문자열.concat(String str) : 반환형 String
=> 문자열과 전달받은 또 다른 문자열을 하나로 합쳐서 리턴
=> 문자열 + str
String str1 = "Hell world";
String str2 = str1.concat("!!!!!");
System.out.println("str2 : " + str2); // 결과: Hell world!!!!!
3. 문자열.length() : 반환형 int
=> 문자열의 길이를 반환(공백 포함)
String str1 = "Hell world";
System.out.println("str1의 길이 : " + str1.length() ); // 결과: 10
4. 문자열.subString(int startindex) : 반환형 String
=> 문자열의 startindex 위치에서 문자열 끝까지의 문자열을 추출해서 리턴
문자열.subString(int startindex, int endindex)
=> 문자열의 startindex 위치에서 endindex - 1 까지의 문자열을 추출해서 리턴
String str1 = "Hell world";
System.out.println(str1.substring(6)); // orld
System.out.println(str1.substring(0,6)); // Hell w
5. 문자열.replace(char old, char new) : 반환형 String
=> 문자열에서 old 문자를 new 문자로 변환한 문자열을 리턴
String str1 = "Hell world";
String str3 = str1.replace('l', 'x');
System.out.println("str3 : " + str3);
6. 문자열.trim() : 반환형 String
=> 문자열의 앞, 뒤, 공백을 제거한 문자열을 리턴
String str4 = " J A V A ";
System.out.println("trim : " + str4.trim());
7. 문자열.toUpperCase() : 반환형 String
=> 모든 문자들 대문자로 변경 후 문자열 리턴
문자열.toLowerCare() : 반환형 String
=> 모든 문자를 소문자로 변경 후 문자열 리턴
System.out.println("toUpperCase : "+str1.toUpperCase());
System.out.println("toLowerCase : "+str1.toLowerCase());
8. 문자열.toCharArray() : 반환형 char [ ]
=> 문자열의 각 문자들을 char [ ] 배열에 옮겨 담은 후 해당 배열을 리턴
char[] chArr = str1.toCharArray();
for(int i = 0 ; i < chArr.length; i++) {
System.out.print(chArr[i]+ " ");
}
System.out.println();
// char[] => String
char[] arr = {'a', 'p', 'p', 'l', 'e'};
System.out.println(String.valueOf(arr));
}
public void method2() {
// 종료하시겠습니까? ( Y/N ) : Y 아니면 N 입력받기
// 경우의 수
// 1. Y / N
// 2. y / n
// 3. 와이 / 엔 == 엘스
Scanner sc = new Scanner(System.in);
System.out.print("종료하시겠습니까? (Y/N) : ");
char a = sc.nextLine().toUpperCase().charAt(0);
// 1. 문자열 입력받기
// 2. 문자열의 모든 알파벳을 대문자로 바꿈
// 3. 0번째 인덱스의 문자만 추출
// => 메소들을 연이어서 호출 : 메소드체이닝
if(a == 'Y') {
System.out.println("종료합니다");
return ;
}else if(a == 'N') {
System.out.println("종료하지 않습니다.");
}else {
System.out.println("잘못입력하셨습니다.");
}
}
>> 문자열을 배열로 분시키기는 방법 1
향상된 for문 : 초기식, 조건식, 증감식이 필요없음
for each문
for(값을 받아줄 수 변수 선언문 : 순차적으로 접근한 배열) {
}
=> 배열의 값을 수정할 수 없다.
=> 출력만 가능
public void method1() {
// 문자열.split(String 구분자) : 반환형 String[]
String[] arr = str.split(",");
for (int i = 0 ; i < arr.length ; i++) {
System.out.println(arr[i]);
}
System.out.println();
for(String s : arr) {
System.out.println(s);
}
}
>> 문자열을 배열로 분리시키는 방법 2
각각의 문자열을 토큰으로 처리
java.util.StringTokenizer 클래스를 이용하는 방법
[표현법]
StringTokenizer stn = new StringTokenizer(문자열, 구분자);
public void method2() {
// 객체 생성
StringTokenizer stn = new StringTokenizer(str,",");
System.out.println("분리된 문자열의 개수 : " + stn.countTokens()); // 6
// countTokens() : 분리된 문자열의 개수를 반환해주는 메소드
// 실제로 분리된 내용물을 보고 싶다면?
System.out.println(stn.nextToken());
System.out.println(stn.nextToken());
System.out.println(stn.nextToken());
System.out.println(stn.nextToken());
System.out.println(stn.nextToken());
System.out.println(stn.nextToken());
// 남아있는 토큰이 없는데 또 nextToken()을 호출하면?
System.out.println(stn.nextToken());
// 오류: NoSuchelementException
// 더이상 꺼내올 토큰(요소)가 없어서 발생하는 오류
// 반복문
while(stn.hasMoreTokens()) {
// hasMoreTokens() : stn에 남아있는 토큰이 있으면 true, 토큰이 다 빠졌으면 false
System.out.println(stn.nextToken());
}
}