Language/Java

연산자 (대입연산자 / 증감연산자 / 비교연산자)

쿠키오빠 2024. 8. 27. 21:41
반응형

연산자

1. 복합 대입연산자

2. 증감연산자

3. 비교연산자

산술 연산자는 간단하므로 제외하겠다.
(중요하지 않다는 건 아님!)

또한 논리연산자, 삼항연산자 등등 더 있지만 일단 중요한 것 부터 정리해 보겠다

1. 복합 대입연산자

  • 다른 연산자와 대입 연산자가 결합한 것
  • 자기 자신의 값과 연산 후 연산 결과를 자기 자신에게 누적 대입

예제)

        /* comment.
            '=' : 오른쪽의 피연산자를 왼쪽의 피연산자에 대입함
            '+=' : 오른쪽의 피연산자를 더한 결과를 왼쪽의피 연산자에 대입
            '-=' :
            '*=' :
            '/=' :
            '%=' :
         */

        int num = 12;
        System.out.println("num = " + num);
        num = num + 3;
        System.out.println("num = " + num);
        num += 3; // num = num + 3;
        System.out.println("num = " + num);
        num -= 5; // num = num - 5;
        System.out.println("num = " + num);
        num *= 2;
        System.out.println("num = " + num);
        num /= 2;
        System.out.println("num = " + num);
        num =- 5;
        System.out.println("num = " + num); // (-= o) , (=- x) 주의사항, 작성 순서가 바뀌게 되면 -5 숫자를 num 공간에 대입.

2. 증감연산자 (++num과 num++의 차이를 체크하자)

  • 피연산자의 값에 1을 더하거나 빼는 연산자(++,--)로 위치에 따라 결과 값이 다르게 나타남
    전위 연산 : 먼저 전위 연산 후 다른 연산 실행
    후위 연산 : 다른 연산 우선 실행 후 후위 연산
    (다른 연산이라는 것은 대입이나 println을 통한 출력을 의미)

예제)

/* index. 2. 증감연산자를 다른 연산자와 함께 사용 */
        /* comment. 주의사항
        *   ++, -- 증감연산자는 다른 연산자와 함께 사용할 때 의미가 달라진다.
        *   다른 연산자와 함께 사용할 때 증감 연산자의 의미
        *   '++num' : 피연산자의 값을 먼저 1 증가시킨 후 다른 연산 진행
        *   'num++' : 다른 연산을 먼저 진행한 후 마지막에 피연산자 값을 1 증가*/
        int firstNum = 20;
        int result1 = firstNum++ * 3;
        System.out.println("result1 = " + result1); //63이 나올거라 생각했지만 60이 나온다. 왜? 위에 코멘드 참고
        System.out.println("firstNum = " + firstNum); // ++ * 연산자와 연산자가 만남 → 곱하기 연산 수행 후 1 증가

        int secondNum = 20;
        int result2 = ++secondNum * 3;
        System.out.println("result2 = " + result2); // 생각했던대로 63이 출력된다.
        System.out.println("secondNum = " + secondNum);

        int thirdNum = 20;
        int result3 = thirdNum++;
        System.out.println("result3 = " + result3); // = 도 연산자이므로 21이 아닌 20이 출력된다.
        System.out.println("thirdNum = " + thirdNum); // 대입 연산자가 선순위이므로 먼저 출력 된 후 1 증가한다.



3. 비교연산자 (코드 작성하다 보면 알아서 익혀진다)

  • 데이터가 같은지, 다른지, 혹은 대소 비교를 할 때 사용
  • 항상 논리 값(true, false)이 결과 값
  • ‘==‘과 ‘!=‘은 모든 자료형에 사용 가능
  • ‘==‘과 ‘!=‘을 제외한 비교 연산자(>, >=, <, <=)는 기본형 boolean과 참조형(String)을 제외하고 나머지 자료형에 모두 사용 가능

예제)

        /* title. 비교연산자에 대해 이해하고 활용할 수 있다. */

        /* comment. 비교연산자
        *       비교연산자는 피연산자 사이에서 상대적인 크기를 판단하여 참 혹은 거짓을 반환하는 연산자이다.
        *       연산자 중 참 혹은 거짓을 반환하는 연산자는 조건식이나 조건문의 조건절에 많이 사용된다. (충분한 연습 필요) */

        /* comment. 비교연산자의 종류
            '==' (같냐?) : 왼쪽 피연산자와 오른쪽 피연산자가 같으면 true, 다르면 false
            '!=' (같지 않냐?) : 왼쪽 피연산자와 오른쪽 피연산자가 다르면 true, 같으면 false
            '!' → 부정을 뜻한다.
            '>' : 왼쪽 피연산자가 오른쪽 피연산자 보다 크면 true, 아니면 false
            '>=' : 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 true, 아니면 false
         */

★ 오늘의 유용한 설정

① 오류 발생 시 수정을 위한 유용한 기능

→ 빨간 줄 표시에 마우스 대고, art + enter 하면 컴파일러가 올바른 답을 알려줌

역시 똑똑이 Intelli J 다.

반응형