자바에서 입력받은 문자열을 비교하여, 분기 처리를 하고 있는데 정확히 입력을 했음에도 불구하고 입력된 대로 출력이 되지 않습니다. 이럴 때 꼭 참고해야 할 문자와 숫자의 비교를 알아보겠습니다.
1. 문자열 비교의 잘못된 예
아래의 코드처럼 문자열을 비교할 때에는 ==로 비교를 하게 되면 잘못된 결과를 가져오게 됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
|
Scanner scan = new Scanner( System.in );
String sYN = null;
System.out.println( "Y/N 둘중아무거나 입력하세요" ); sYN = scan.next();
if( "Y" == sYN ){
System.out.println( "입력은 Y 입니다." );
}else{
System.out.println( "입력은 N 입니다." );
}
// Y/N 둘중아무거나 입력하세요
// Y
// 입력은 N 입니다.
|
cs |
2. 문자열 비교의 올바른 예
==는 숫자를 비교할 때에만 사용합니다. 대신에 문자열은 equals()를 사용합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
Scanner scan = new Scanner( System.in );
String sYN = null;
System.out.println("Y/N 둘중아무거나 입력하세요"); sYN = scan.next();
//if( "Y" == sYN ) {
if("Y".equals( sYN )){
System.out.println("Y입니다.");
}else { System.out.println("N입니다.");
}
// Y/N 둘중아무거나 입력하세요
// Y
// Y입니다.
|
cs |
마치면서 .. '렙'은 '북치기-박치기'만 잘하면 됩니다. 자바는 문자열 비교, 숫자열 비교만 잘하면 됩니다. 문자열은 equals(), 숫자는 ==로 생각하면 오랫동안 실수하지 않고 기억에도 오래 남습니다. 도움이 되셧다면 하트부탁드립니다.
'JAVA' 카테고리의 다른 글
cmd창에서 war파일 만들기 (0) | 2021.10.28 |
---|---|
중복없는 난수 생성 , 로또 번호 생성활용 (1) | 2021.10.19 |
매소드 확장 오버로딩 vs 매소드 재정의 오버라이딩 (0) | 2021.10.08 |
자바 스캐너 사용법 ( java scanner ) 정리 (0) | 2021.10.01 |
이클립스 빨간색 엑스표시 떳을때 ( Unresolved compilation problems ) 해결 방법 (1) | 2021.09.30 |
댓글