Java 기초 (4) 문자열 메소드

코린이서현이·2023년 7월 14일
0

Java

목록 보기
5/46

🔥오늘의 목표🔥

자바에서 자주 사용돠는 문자열 관련 메소드에 대해 정리했다.

equals : 두개의 문자열이 동일한지를 비교하여 결과값을 리턴한다.
indexOf : 문자열에서 특정 문자열이 시작되는 위치(인덱스)를 리턴한다.
contains : 문자열에서 특정 문자열이 포함되어 있는지의 여부를 리턴한다.
charAt : 문자열에서 특정 위치의 문자를 리턴한다.
replace : 문자열에서 특정문자열을 다른 문자열로 바꾸고 싶을 때 사용한다.
substring : 문자열에서 특정 문자열을 뽑아낼 경우에 사용한다.
toUpperCase : 문자욜을 모두 대문자로 변경할 때 사용한다.
toLowerCase : 문자열을 모두 소문자로 변경할 때 사용한다.
split :문자열을 특정 구분자로 나누어 문자열 배열로 리턴한다.

📕 자바에서 제공하는 문자열 메소드

📖 동일 비교 equals

  • 두개의 문자열이 동일한지를 비고하여 결과값을 리턴한다. (문자열끼리만 사용가능)
    new메소드를 사용해 만든 문자열이더라도 문자열이 동일하면 true리턴
  • 반환값은 boolean

✍️예시코드

	String aString = "안녕하세요";
	String bString = "안녕하세요";
	String cString = new String("안녕하세요");

	System.out.println( aString.equals(cString)); 	//true
	System.out.println( aString.equals(bString)); 	//true
	System.out.println( bString.equals(cString)); 	//true

==과의 차이점

  • ==는 동일한 객체인지를 판단한다. (메모리값 주소 확인)
    ✍️ 예시코드
	System.out.println( aString == bString );   	//true
	System.out.println( aString == cString );   	//false
	System.out.println( bString == cString ); 		//false

📖 다른 객체와도 사용할 수 있는 contentEquals

  • 문자열과 다른 객체와의 문자열이 동일한지를 확인할 때 사용할 수 있다.
    ex) StringBuffer

✍️ 예시코드

        String b = "abc";
        StringBuffer c = new StringBuffer("abc");
        System.out.println(a.contentEquals(b)); // true
        System.out.println(a.contentEquals(c)); // true        

🔍 다른객체와 문자열을 비교하고 싶을 때는 contentEquals을 사용하면 된다.

📖 특정 문자열 시작 위치 indexOF

  • 문자열에서 특정 문자열이 사작되는 인덱스를 리턴한다.
    ❗ 자바의 인덱스는 0부터 시작한다.
    ❗ 없으면 -1을 반환한다.

✍️ 예시코드

	String a = "Hello java Hello";
	System.out.println(a.indexOf("Hello")); 	// 0
	System.out.println(a.indexOf("b"));			// -1

📖 특정문자열 포함 여부 contain

  • 문자열에서 특정 문자열이 포함되어 있는지 여부를 리턴한다.
  • 반환값은 boolean

✍️ 예시코드

	String a = "Hello java Hello";
	System.out.println(a.contains("H"));	//true
	System.out.println(a.contains("k"));	//false

📖 특정 인덱스의 문자를 리턴 charAt

  • 문자열에서 인덱스 값을 가지고 특정 위치의 문자를 리턴한다.
  • 반환값이 String이 아니라 char이다.

✍️ 예시코드

	String a = "Hello java Hello";

	System.out.println(a.charAt(0));	//H

❗문자열 인덱스의 최대값보다 큰 값을 물어보면 error가 난다...

➕ 숫자형태의 String 에서 int 변수로 바로 변환할 때

int num = str.charAt(i) - '0';
  • 문자는 순서대로 아스키코드로 저장되어 있다는 것을 활용해서 숫자형태 String을 int변수로 변환할 수 있다.

✍️ 활용코드

String numbers = "12345";

// 숫자로 구성된 String 변수에서 특정 숫자를 바로 int 변수로 가져올 수 있다.
int targetNumber1 = numbers.charAt(0) - '0';	//1
int targetNumber2 = numbers.charAt(1) - '0';	//2
int targetNumber3 = numbers.charAt(2) - '0';	//3
int targetNumber2 = numbers.charAt(3) - '0';	//4
int targetNumber3 = numbers.charAt(4) - '0';	//5

더 알아보기

📖 문자열 추출 substring

  • 문자열 중 인덱스값을 활용해 특정 부분을 추출할 수 있다.
  • 종료 인덱스 -1까지 출력한다. 종료인덱스에 해당하는 부분은 추출하지 않는다.
  • 끝 인덱스를 지정하지 않으면 끝까지 추출한다.

✍️ 예시코드

	String a = "0123456789";
    //인덱스 6의 값은 추출하지 않는다.
	System.out.println(a.substring(3, 6));	//345
	System.out.println(a.substring(6));		//6789

❗더 큰 인덱스 선언 시 에러발생

📖 toUpperCase와 toLowerCase

  • toUpperCase : 문자열을 모두 대문자로 변경한다.
  • toLowerCase : 문자열을 모두 소문자로 변경한다.

✍️ 예시코드

	String a = "Hello Java";
	
	System.out.println(a.toUpperCase());	//HELLO JAVA
	System.out.println(a.toLowerCase());	//hello java

🔍 한글로 했을 때는 아무변화 없음. 오류도 없음

📖 문자열을 문자열 배열로 만드는 split

  • 문자열을 특정 구분자로 나누어 문자열 배열로 리턴한다.

✍️ 예시코드

	String a = "a:b:c:d";
	String[] result = a.split(":");  // result는 {"a", "b", "c", "d"}
	System.out.println(result[0]);

🔥오늘의 느낀 점🔥

어깨 재활운동을 해야할 것 같다.
다양한 메소드들을 정리해봤다.
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글