JAVA DAY12 - String 클래스

어뮤즈온·2020년 12월 1일
0

초급자바

목록 보기
17/31

String

여러개의 문자를 사용하기 쉽게 만들어 놓은 클래스

용어정리

  • 클래스 : 변수와 메서드로 구성
  • 메서드 : 코드들이 모여있는 것, ( )가 붙어있다.

** ( ) : 데이터를 받는 곳으로 메서드가 ( ) 안에 있는 데이터의 일을 실행하고 결과물을 돌려준다.(항상 데이터가 있어야하는 것은 아니다.)


String의 주요 메서드

StringBuffer

String을 많이 변경할 일이 있다면 StringBuffer 클래스를 사용한다.

StringBuffer sb = new StringBuffer("a");

for(int i = 0; i < 200000000; i++){
	sb.append("a");
}

equals()

문자열의 내용이 같은지 true, false로 반환한다.

boolean equals = "문자열".equals("문자열");
System.out.println(equals); //true 출력

//참조연산자.equals(비교대상);
//참조연산자에는 null값이 들어갈 수 없다.
String str1 = "문자열";
String str2 = null;
System.out.println(str1.equals(str2));
//System.out.println(str2.equals(str1)); //오류

length(), charAt()

  • length() : 문자열의 길이를 int 타입으로 반환한다.
  • charAt() : 특정 인덱스에 위치한 문자를 반환한다.
String str = "12345";
int length = str.length();
for(int i = 0; i < length; i++){
	char charAt = str.charAt(i);
    	System.out.println(charAt);
} // 1~5까지 출력

//문자열 뒤집기
String rev = "";
for(int i = str.length() - 1; i >= 0; i--){
	rev += str.charAt(i);
}
System.out.println(rev); //54321 출력

substring(), indexOf()

  • substring() : 문자열의 특정 부분을 잘라서 반환한다.
  • indexOf() : 문자열 내의 특정 문자의 인덱스를 int 타입으로 반환한다.
str = "0123456789";
String sub1 = str.substring(3);
System.out.println(sub1);//3456789 출력
String sub2 = str.substring(5,8);
System.out.println(sub2);//567 출력

str = "수박 오렌지 귤 블루베리";
int index = str.indexOf("오렌지");//오렌지의 시작 인덱스
System.out.println(index); //3 출력

//substring과 indexOf 조합해서 문자열 자르기
String[] menu = {"수박 2000원" ,"오렌지 10000원","귤 500원"};

//과일 이름만 잘라내기
for(int i = 0; i < menu.length; i++){
	String name = menu[i].substring(0, menu[i].indexOf(" ");
    	System.out.print(name);
}

contains()

문자열이 특정 문자열을 포함하고 있는지 true, false로 반환한다.

str = "abcd";
boolean contains = str.contains("c");
System.out.println(contains); //true 출력

split()

문자열을 특정 문자를 기준으로 나누어 배열형태로 반환한다.

str = "a/b/c";
String[] split = str.split("/");
System.out.println(Arrays.toString(split));
//[a, b, c] 출력

trim()

문자열 앞뒤의 공백을 제거해 반환한다.

str = " 문 자 열 ";
String trim = str.trim();
System.out.println("[" + str + "] -> [" + trim + "]");
//[ 문 자 열 ] -> [문 자 열] 출력

valueOf()

다른 타입의 데이터를 문자열로 변환해 반환한다.

//String 타입으로 변경하는 두개의 방법
str = number + ""; //문자열을 더해서 String타입으로 변경
str = String.valueOf(number); //모든 타입의 데이터를 문자열로 변경
profile
Hello, world!

0개의 댓글