(JAVA)자바/(JAVA)자바 문법
(JAVA)자바 문자열 비교, equals(), equalsIgnoreCase(),compareTo(), contains()
공부가싫다가도좋아
2021. 1. 22. 12:13
반응형
(JAVA) 자바 문자열 비교
1. equals()
두 문자열을 비교할 때는 equals() 메서드를 사용합니다.
String str1="안녕하세요.";
String str2="안녕하세요.";
if(str1.equals(str2)) {
System.out.println(str1);
}
else {
System.out.println("두 문자열이 다릅니다");
}
//결과
안녕하세요.
공백이 포함된 문자열도 equals로 비교할 수 있습니다.
import java.util.Scanner;
public class Print00 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String str1="안녕 하세요.";
System.out.println("문자열 str2를 입력해 주세요.");
String str2=scan.nextLine();
if(str1.equals(str2)) {
System.out.println(str1);
}
else {
System.out.println("두 문자열이 다릅니다");
}
}
}
//결과
문자열 str2를 입력해 주세요.
안녕 하세요.
두 문자열이 같습니다.
2. equalsIgnoreCase()
대소문자를 구별하지 않고 비교하고 싶으면 equals() 대신 equalsIgnoreCase()를 사용 하면 됩니다.
import java.util.Scanner;
public class Print00 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String str1="APPLE";
System.out.println("문자열 str2를 입력해 주세요.");
String str2=scan.nextLine();
if(str1.equalsIgnoreCase(str2)) {
System.out.println("두 문자열이 같습니다.");
}
else {
System.out.println("두 문자열이 다릅니다");
}
}
}
//결과
문자열 str2를 입력해 주세요.
apple
두 문자열이 같습니다.
3. compareTo()
문자열 비교후 Int형으로 값을 돌려줌.
현재 객체가 더 작으면 음수로,
같으면 0,
현재 객체가 더 크면 양수.
import java.util.Scanner;
public class Print00 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String str1="APPLE";
System.out.println("문자열 str2를 입력해 주세요.");
String str2="APPle";
if(str1.compareTo(str2)==0) {
System.out.println("두 문자열이 같습니다.");
}
else {
System.out.println("두 문자열이 다릅니다");
System.out.println("str1.compareTo(str2) ="+str1.compareTo(str2));
}
}
}
//결과
문자열 str2를 입력해 주세요.
두 문자열이 다릅니다
str1.compareTo(str2) =-32
아스키코드값이 APPLE이 더 작으므로 음수를 돌려줍니다.
4.contains()
문자열중 같은 단어가 있으면 true를 반환합니다.
import java.util.Scanner;
public class Print00 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String str1="key,book,person";
String str2="book";
System.out.println(str1.contains(str2));
}
}
//결과
true
str1에 str2의 단어가 있었으므로 true 반환
반응형