자바 String 클래스

2024. 10. 20. 12:24java

[String 클래스]

리턴 타입 메소드 이름(매개 변수) 설명
char charAt(int index) 특정 위치의 문자 추출
boolean equals(Object anObject) 두 문자열을 비교
byte[] getBytes() byte[]로 리턴
byte[] getBytes(Charset charset) 주어진 문자셋으로 인코딩한 byte[]로 리턴
int indexOf(String str) 문자열 내에서 주어진 문자열의 위치를 리턴
int length() 총 문자의 수를 리턴
String replace(CharSequence target, CharSequence replacement) target 부분을 replacement로 대치한 새로운 문자열을 리턴
String substring(int beginIndex) beginIndex 위치에서 끝까지 잘라낸 새로운 문자열을 리턴
String substring(int beginIndex, int endIndex) beginIndex 위치에서 endIndex 전까지 잘라낸 새로운 문자열을 리턴
String toLowerCase() 알파벳 소문자로 변환한 새로운 문자열을 리턴
String toUpperCase() 알파벳 대문자로 변환한 새로운 문자열을 리턴
String trim() 앞뒤 공백을 제거한 새로운 문자열을 리턴
String valueOf(int i) / valueOf(double d) 기본 타입 값을 문자열로 리턴

 

  • 문자열 길이: length( )             문자열의 길이(문자의 수)를 리턴
  • 문자 추출: charAt( )                인덱스의 문자를 리턴 ,  인덱스란 0에서부터 ‘문자열 길이-1’까지
  • 문자열 찾기: indexOf( )           메소드는 매개값으로 주어진 문자열이 시작되는 인덱스를 리턴,
                                                     만약 주어진 문자열이 포함되어 있지 않으면 -1을 리턴
  • 문자열 잘라내기: substring( )  메소드는 주어진 인덱스에서 문자열을 추출, 매개값의 수에 따라 두 가지 형태로 사용
                              - substring(int beginIndex, int endIndex)는 주어진 시작과 끝 인덱스 사이의 문자열을 추출
                              - substring(int beginIndex)는 주어진 인덱스부터 끝까지문자열을 추출
  • 문자열.toCharArray() : char{}
  • 문자열 변환: valueOf( )           기본 타입의 값을 문자열로 변환하는 기능, 매개 변수의 타입별로 valueOf( ) 오버로딩
  • 문자열 대치: replace( )            첫 번째 매개값인 문자열을 찾아 두 번째 매개값인 문자열로 대치한 새로운 문자열을 생성하고 리턴
  • 문자열 앞뒤 공백 잘라내기: trim( )    앞뒤 공백을 제거한 새로운 문자열을 생성하고 리턴
  • 알파벳 소·대문자 변경: toLowerCase( ), toUpperCase( )
  • 문자열 비교: equals( )
  • 바이트 배열로 변환: getBytes( )    네트워크로 문자열을 전송  or 문자열을 암호화할 때 문자열을 바이트 배열로 변환

 

// 문자열과 관련된 메소드들 (이거 완전 많이 쓰입니다!)

public void method1() {

 

String str1 = "경실련하이텔 정보교육원";

 

// 1. 문자열.length(): int

// 문자열의 길이를 반환

System.out.println("str1의 길이: " + str1.length()); // 12

 

 

// 2. 문자열.charAt(int index): char

char ch = str1.charAt(3);

System.out.println("ch: " + ch); // 하

 

String phoneNumber = "010-1234-5678";

// 0 1 2 3 4 5 6 7 8 9

// 0 1 0 - 1 2 3 4 - 5 6 7 8

// 3. 문자열.substring(int beginindex): String

// -> 문자열의 beginindex위치에서 문자열 끝까지의 문자열을 추출해서 반환

System.out.println(phoneNumber.substring(4)); // 1234-5678

 

// 3. 문자열.indexOf(): int

System.out.println(str1.indexOf("교")); // 9

 

String email = "hong@kh.com";

 

//4 문자열.substring(int beginindex, int endindex): String

System.out.println(email.substring(0, email.indexOf("@")));

 

// 5.문자열.toCharArray() : char{}

// 문자열의 각 문자들은 char[]에 옮겨담은 후 해당 배열을 반환

char[] chArr = email.toCharArray();

for(char c : chArr) {

System.out.println(c);

}

 

// char[] -> String 으로 변경방법

System.out.println(String.valueOf(chArr));

 

// 6.문자열.replace(char old, char new)" String (치환!!!)

String newEmail = email.replace("kh", "google");

System.out.println(newEmail);

 

String str3 = " Java sdfsdsdf " ;

// 7. 문자열.trim(): String

// 문자열 앞 뒤 공백을 제거한 문자열을 반환

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

 

// 8. 문자열.toUpperCase(): String -> 모든 문자열을 대문자로 바꾼 후 문자열로 반환

// 문자열.toLowerCase(): String -> 모든 문자열을 소문자로 바꾼 후 문자열로 반환

System.out.println(str3.toUpperCase());

System.out.println(str3.toLowerCase());

}

 

 

 

문자열 분리

 

public class StringTokenizer {

 

// 문자열 분리시키는 방법

 

String str = "장원영, 카리나, 제니, 하니" ;

 

// 1. 구분자를 이용해서 해당 문자열을 분리시키는 방법

// 2. 분리된 각각의 문자열을 토큰으로 취급하는 방법

 

 

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);

}

 

 

// 향상된 for문: 초기식 조건식 증감식 안씀

// for(값을 받아줄 지역변수선언 : 순자척으로 요소에 접근할 배열 || 컬랙션) { }

// 배열의 요소를 바꿀수 없고 출력할 때만 사용

}