본문 바로가기
IT/JAVA

JAVA - 문자열(2일차)

by 삐약 개발자 2024. 11. 20.
반응형

String

String 타입은 큰따옴표로 감싸진 문자열을 의미함

문자열 리터럴을 할당하는 방법

// 문자열 리터럴을 String 타입의 변수 name에 할당하는 방법
String name1 = "Kim Coding";

// String 클래스의 인스턴스를 생성하는 방법
String name2 = new String("Kim Coding");

 

  • String 타입의 변수는 String 변수명;으로 선언할 수 있다.
  • 선언한 변수에 문자열을 할당하는 방법은 두 가지가 있다.
  • 문자열 리터럴을 할당하는 방법 : 변수 = “문자열”;
  • String 클래스의 인스턴스를 생성하여 할당하는 방법 : 변수 = new String(”문자열”);
String name1 = "Kim Coding";
String name2 = "Kim Coding";

String name3 = new String("Kim Coding");
String name4 = new String("Kim Coding");

boolean comparison1 = name1 == "Kim Coding";      // true
boolean comparison2 = name1 == name2;             // true
boolean comparison3 = name1 == name3;             // false
boolean comparison4 = name3 == name4;             // false
boolean comparison5 = name1.equals("Kim Coding"); // true
boolean comparison6 = name1.equals(name3);        // true
boolean comparison7 = name3.equals(name4);        // true

String 클래스의 메서드

String 클래스는 문자열을 조작할수 있는 유용한 메서드 들을 가지고 있음.

 

1. length()

문자열의 길이를 리턴하는 메서드

String str = "hello";
//str.length; //-> 배열에서 사용
//str.length(); // -> 문자열에서 실행
System.out.println(str.length()); //5

 

2. charAt()

해당하는 문자열의 특정 인덱스에 해당하는 문자를 반환

문자열이 아닌 문자로 반환한다는 것이 중요

String str = "hello";
System.out.println(str.charAt(1)); // e

 

단 입력받은걸 문자열로 형변하고 싶다면? - String.valueOf()

String str = "hello";
String str2 = String.valueOf(str.charAt(2));
System.out.println(str2); // l

 

3. compareTo()

문자열 비교 메서드 

단 문자열에 해당하는 메서드를 사용한다고 해도 원래의 값이 변하지 않음

String str = new String("abcd");
System.out.println("문자열 : " + str); // 문자열 : abcd
System.out.println(str.compareTo("bcef")); // -1
System.out.println(str.compareTo("abcd") + "\n"); // 0
System.out.println(str.compareTo("Abcd")); // 32
System.out.println(str.compareToIgnoreCase("Abcd")); // 0
System.out.println("compareTo() 메서드 호출 후 문자열 : " + str); //compareTo() 메서드 호출 후 문자열 : abcd

 

4. concat()

해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환함 (원본 안바꿈)

String str = new String("Java");
System.out.println("문자열 : " + str); // 문자열 : Java
System.out.println(str.concat("수업")); //Java수업
System.out.println("concat() 메서드 호출 후 문자열 : " + str); // concat() 메서드 호출 후 문자열 : Java

 

5. indexOf()

해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환  (원본 안바꿈)

String str = new String("Oracle Java");
System.out.println(str.indexOf('o')); // -1 -> 대소문자 구별하기에!
System.out.println(str.indexOf('a')); // 2
System.out.println(str.indexOf("Java")); // 7

 

6. trim()

문자열 맨 앞,뒤에 있는 모든 공백 문자를 제거 (원본 안바꿈)

String str = new String(" Java     ");
System.out.println(str + '|'); // Java     |
System.out.println(str.trim() + '|'); //Java|

 

7. toLowerCase(), toUpperCase()

문자열 대문자, 소문자 변환 (원본 안바꿈)

String str = new String("Java");
System.out.println(str.toLowerCase()); //java
System.out.println(str.toUpperCase()); //JAVA

 

반응형

'IT > JAVA' 카테고리의 다른 글

Java - 형변환 정리  (0) 2024.11.21
JAVA - break  (0) 2024.11.21
JAVA - 연산자  (1) 2024.11.20
JAVA - [변수, 타입, 문자열] 문제풀이 정리  (0) 2024.11.20
JAVA 1일차  (2) 2024.11.19