발전을 위한 기록

[Java] 자바 연산자 우선순위 예제 본문

프로그래밍/자바

[Java] 자바 연산자 우선순위 예제

릴릴2 2024. 1. 8. 22:11

자바 연산자 우선순위를 이해하는데 도움이 될 수 있는 예제입니다!

 

연산자 우선순위는 아래 글을 참고해주세요.

https://riwltnchgo.tistory.com/91

 

[Java] 자바 연산자 우선순위

연산자 우선순위

riwltnchgo.tistory.com

 

1. 산술 연산과 비교 연산

public class Problem1 {
    public static void main(String[] args) {
        int a = 5;
        int b = 3;
        int c = 7;
        
        boolean result = (a + b > c) && (a * b < c);
        System.out.println("결과: " + result);
    }
}

 

출력결과

결과: false

 

풀이

  • a + b는 5 + 3 = 8이 되고, a * b는 5 * 3 = 15가 됩니다.
  • 따라서 (a + b > c)는 (8 > 7)이 참이고, (a * b < c)는 (15 < 7)이 거짓입니다.
  • 논리 연산자 &&는 둘 다 참일 때만 전체가 참이므로 결과는 false가 됩니다.

2. 비트 연산과 시프트 연산

public class Problem2 {
    public static void main(String[] args) {
        int x = 12;
        int y = 3;
        
        int result = (x >> 2) & (y << 1);
        System.out.println("결과: " + result);
    }
}

출력결과

결과 : false

 

풀이

  • x >> 2는 12를 오른쪽으로 2비트 시프트하여 3이 됩니다.
  • y << 1은 3을 왼쪽으로 1비트 시프트하여 6이 됩니다.
  • & 비트 AND 연산자로 두 결과를 비트 단위로 AND 연산합니다. 따라서 3 & 6은 2가 됩니다.

3. 복합 대입 연산자와 조건 연산자

public class Problem3 {
    public static void main(String[] args) {
        int a = 10;
        int b = 7;
        int c = 5;
        
        a += (b > c) ? b : c;
        System.out.println("결과: " + a);
    }
}

 

출력결과

결과: 17

 

풀이

  • (b > c)가 참이므로 a += b가 실행되어 a는 10 + 7 = 17이 됩니다.
  • 따라서 최종 결과는 17입니다.

4. 논리 연산자와 비교 연산

public class Problem4 {
    public static void main(String[] args) {
        int x = 15;
        int y = 20;
        boolean result = (x != y) || (x > y);
        System.out.println("결과: " + result);
    }
}

 

출력결과

결과: true

 

풀이

  • x != y는 15 != 20으로 참입니다.
  • (x > y)는 거짓이므로 || 논리 OR 연산자로 두 결과 중 하나만 참이어도 최종 결과는 참이 됩니다.
  • 따라서 결과는 true가 됩니다.

5. 삼항 연산자와 비트 연산

public class Problem5 {
    public static void main(String[] args) {
        int num1 = 7;
        int num2 = 4;
        int result = (num1 & num2) == 0 ? (num1 | num2) : (num1 ^ num2);
        System.out.println("결과: " + result);
    }
}

 

출력결과

결과: 3

 

풀이

  • (num1 & num2)는 7 & 4로 4가 됩니다.
  • 따라서 삼항 연산자의 조건은 거짓이 되고, (num1 ^ num2)인 7 ^ 4가 최종 결과인 3이 됩니다.
728x90