3.2.4 비교 연산자

jh·2022년 1월 11일
0

Do it! 자바 완전 정복

목록 보기
17/70
post-thumbnail

비교 연산자는 크게 크기 비교(>,<,>=,<=)와 등가 비교 (==, !=)로 나눌 수 있다.연산 결과는 불리언 자료형, 즉 true와 false 중 하나를 나타낸다. 참고로 크거나 같다(>=), 작거나 같다(<=), 같지 않다(!=)와 같이 등호를 포함해 2개의 연산 부호가 연결됐을 때 등호(=)는 항상 오른쪽에 위치하는데, 이는 이후에도 계속 적용되는 사항이므로 꼭 기억하기 바란다. 또한 등가 비교에서 같다(==)일 때는 등호가 2개 있다는 것에 유의하자.


+) 등가 비교(==)와 대입 연산자(=)를 혼동하지 말자
등가 비교 연산자(==)는 두 값이 동일한지의 여부를 확인한 후 동일 여부를 참(true) 또는 거짓(false)로 반환하는 연산자인 반면, 대입 연산자는 말그대로 오른쪽의 값을 왼쪽에 대입하는 연산자다.

int a = 3; 
System.out.println(a == 5); //false
System.out.println(a = 5); // 5

크기 비교나 등가 비교 연산은 누구나 계산할 수 있을 것이다. 비교 연산자에서 정작 중요한 것은 '등가 비교(==, !=)할 때 비교 대상이 무엇이냐?'는 것이다. 이것이 중요한 이유는 앞에서 배운 것처럼 스택 메모리의 값이 기본 자료형일 때와 참조 자료형일 때가 서로 다르기 때문이다. 기본 자료형의 실제 데이터 값은 스택 메모리, 참조 자료형의 실제 데이터값은 힙 메모리에 저장되고, 스택 메모리에는 실제 데이터값의 위치(번지)가 저장된다. 다시 말하면, 기본 자료형의 등가 비교 대상은 실제 데이터값이 되고, 참조형의 등가 비교 대상은 실제 데이터값이 위치한 번짓값이 되는 것이다. 이는 참조 자료형에서 좀 더 자세히 알아본다.

실습

크기 비교 및 등가 비교와 참조 자료형의 등가 비교

        //크기 비교
        System.out.println(5 < 2);
        System.out.println(5 > 2);
        System.out.println(5 < 5);
        System.out.println(5 <= 5);
        System.out.println(5 >= 5);
        System.out.println();

        //등가 비교
        // @기본 자료형 등가 비교
        int a = 5;
        int b = 2;
        int c = 5;
        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(a == c);
        System.out.println(a != c);
        System.out.println();

        // @참조 자료형 등가 비교
        String str1 = new String("안녕");
        String str2 = new String("안녕");
        System.out.println(str1 == str2);

결과

profile
코딩 공부 중...

0개의 댓글