카테고리 없음

[JAVA] 213-11

codecodekode 2024. 10. 19. 12:18

11. 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.

public class testco {
 public static void main(String[] args) {
  int a = 3, b = 4, c = 3, d = 5;
  if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)) {
   a = b + c;
    if(7 == b ^ c != a) {
     System.out.println(a);
    } else {
    System.out.println(b);
    }
  } else {
    a = c + d;
    if(7 == c ^ d != a) {
    System.out.println(a);
    } else {
    System.out.println(d);
    }
  }
 }
}

1. 변수 초기화

  • int a = 3, b = 4, c = 3, d = 5;로 변수 a, b, c, d를 초기화합니다.

2. 첫 번째 조건문 분석

조건 1: (a == 2 | a == c)

  • a == 2는 false (3은 2와 다름).
  • a == c는 true (3은 3과 같음).
  • 따라서, false | true는 **true**입니다.

조건 2: !(c > d)

  • c > d는 false (3는 5보다 작음).
  • !(c > d)는 true입니다.

조건 3: (1 == b ^ c != d)

  • 1 == b는 false (1은 4와 다름).
  • c != d는 true (3은 5와 다름).
  • false ^ true는 **true**입니다.

3. 첫 번째 조건문의 결과

  • 모든 조건이 true이므로 첫 번째 if 블록으로 들어갑니다.

4. a의 값 업데이트

a = b + c; // a = 4 + 3 = 7

5. 두 번째 조건문 분석

java
코드 복사
if(7 == b ^ c != a)
  • 7 == b는 false (7은 4와 다름).
  • c != a는 true (3은 7과 다름).
  • false ^ true는 **true**입니다.

6. 출력

  • 두 번째 if 블록으로 들어가서, System.out.println(a);가 실행됩니다.
  • a의 값은 7입니다.