equals()
- 목적: equals()는 문자열의 내용을 비교할 때 사용한다.
- == 연산자와는 달리, equals()는 값 자체를 비교하는 메서드이다.
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
- == 연산자는 주소를 비교하기 때문에, name1 == name2는 같은 문자열 "Kim Coding"이 두 변수에 저장되어 있기 때문에 true를 반환한다. 하지만 name1 == name3은 다른 메모리 위치에 저장된 String 객체이므로 false를 반환한다.
- 반면, equals()는 문자열의 내용을 비교한다. 그래서 name1.equals(name3)는 두 문자열의 내용이 같으므로 true를 반환한다.
equals() 메서드는 간단히 설명하면, 앞의 변수가 저장하고 있는 문자열의 내용과 () 안의 문자열의 내용이 같은지 비교하여 같으면 true를 다르면 false를 반환한다.
length() 메서드
length() 메서드는 문자열의 길이, 즉 철자의 개수를 리턴하는 메서드이다.
메서드는 뒤에 ()가붙는다.
String str = "java";
System.out.println(str.length()); // 4
charAt() 메서드
인덱스 각각의값의 위치를 입력하면 값(문자)을 반환한다.
만약 해당 문자열의 길이보다 큰 인덱스나 음수를 전달하면 오류가 발생한다.
프로그래밍에서 인덱스 위치를 나타내는건 무조건 0부터이다.
찾아서 할당도 가능하다.
String str = new String("Java");
System.out.println("문자열 : " + str); // "문자열 : Java"
System.out.println(str.charAt(0)); // 'J'
System.out.println(str.charAt(1)); // 'a'
System.out.println(str.charAt(2)); // 'v'
System.out.println(str.charAt(3)); // 'a'
System.out.println(str.length()); // 4
System.out.println("\ncharAt() 메서드 호출 후 문자열 : " + str);
compareTo() 메서드
String str = new String("abcd");
System.out.println("문자열 : " + str);
System.out.println(str.compareTo("bcef"));
System.out.println(str.compareTo("abcd") + "\n");
System.out.println(str.compareTo("Abcd")); //32
System.out.println(str.compareToIgnoreCase("Abcd"));
System.out.println("compareTo() 메서드 호출 후 문자열 : " + str);
문자열 : abcd
-1
0
32
0
compareTo() 메서드 호출 후 문자열 : abcd
다르면 양수나 음수(작으면 음수, 크면 양수) 같으면 0을 반환한다.
주로 문서파일비교할때 사용한다.
문자열을 비교할 때 대소문자를 구분하지 않기를 원한다면, compareToIgnoreCase() 메서드를 사용한다.
concat() 메서드
해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 연결해서 반환한다.
만약 인수로 전달된 문자열의 길이가 0이면, 해당 문자열을 그대로 반환한다.
String str = new String("Java");
System.out.println("문자열 : " + str);
System.out.println(str.concat("수업"));
System.out.println("concat() 메서드 호출 후 문자열 : " + str);
문자열 : Java
Java수업
concat() 메서드 호출 후 문자열 : Java
indexOf() 메서드
문자나 문자열의 위치를 찾을때 사용한다.
문자열에서 특정 문자 또는 특정 문자열이 처음으로 나타나는 인덱스를 반환하는 메서드이다.
- 문자를 찾을 때는 char 타입을 인자로 전달하고,
- 문자열을 찾을 때는 String 타입을 인자로 전달한다.
- 만약 찾는 문자가 없다면 -1을 반환한다.
String str = new String("Oracle Java");
System.out.println("문자열 : " + str);
System.out.println(str.indexOf('o'));
System.out.println(str.indexOf('a'));
System.out.println(str.indexOf("Java"));
System.out.println("indexOf() 메서드 호출 후 원본 문자열 : " + str);
문자열 : Oracle Java
1
1
7
indexOf() 메서드 호출 후 원본 문자열 : Oracle Java
contains()메서드
해당여부 확인할때 사용한다.
- string.contains("문자열")
- 반환값: 포함되어 있으면 true, 아니면 false
String str = "Java Programming";
System.out.println(str.contains("Java")); // true
System.out.println(str.contains("Python")); // false
trim() 메서드
문자열의 모든 공백 문자를 제거한다.
String str = new String(" Java ");
System.out.println(str.trim() );
Java
replace()메서드
지정된 문자를 매개변수로 전달된 지정된 문자로 바꾸는 데 사용한다.
string.replace('찾을 문자', '변경할 문자')
또는 string.replace("찾을 문자열", "변경할 문자열")
String str = "Java Programming";
System.out.println(str.replace("Java", "Python")); // "Python Programming"
toLowerCase()와 toUpperCase() 메서드
toLowerCase()는 소문자로 변경한다.
toUpperCase()는 대문자로 변경한다.
주로 금칙어를 걸러낼때 사용한다.
String str = new String("Java");
System.out.println("문자열 : " + str); // "Java"
System.out.println(str.toLowerCase()); // "java"
System.out.println(str.toUpperCase()); // "JAVA"
System.out.println("두 메서드 호출 후 문자열 : " + str); // "Java"
변수나 클래스명에는 예약어를 사용할 수 없다
- Java에서 예약어(예: int, String, Main)는 이미 특정 용도로 사용되고 있기 때문에 변수나 클래스명으로 사용할 수 없다.
예약어는 문법적 의미를 가지고 있기 때문에, 변수명, 클래스명, 메서드명 등에 사용할 수 없다.- 예시: int나 String은 변수나 클래스명으로 사용할 수 없다.
return 반환
- 목적: 메서드에서 값을 반환하는 데 사용된다.
- 형식: return 반환값;
- 설명: 메서드가 끝날 때 return을 사용하여 결과를 반환할 수 있다. 반환 타입은 메서드 선언 시 지정한 타입과 일치해야 한다. return은 값을 메서드 호출한 곳으로 반환하며, 메서드의 실행을 종료시킨다. void 타입의 메서드는 return을 사용하지 않지만, 필요시 return;만 사용할 수 있다.
'java > 문자열(String)' 카테고리의 다른 글
| String 타입의 변수 선언과 할당 (0) | 2024.04.03 |
|---|