정보처리기사 실기 시험 기출 문제 - 논리 연산자와 조건문
문제
다음 Java 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: LogicalOperatorsDemo.java
public class LogicalOperatorsDemo {
    public static void main(String[] args) {
        int w = 3, x = 4, y = 3, z = 5;
        if((w == 2 | w == y) & !(y > z) & (1 == x ^ y != z)) {
            w = x + y;
            if(7 == x ^ y != w)
                System.out.println(w);
            else
                System.out.println(x);
        }
        else {
            w = y + z;
            if(7 == y ^ z != w)
                System.out.println(w);
            else
                System.out.println(z);
        }
    }
}
입력 예시
이 프로그램은 사용자로부터 입력을 받지 않습니다.
출력 예시
7
해설
이 프로그램은 Java의 논리 연산자를 사용한 복잡한 조건문과 그 결과에 따라 변수에 값을 할당하고 출력하는 과정을 보여줍니다.
- 변수 w,x,y,z가 각각3,4,3,5로 초기화됩니다.
- 첫 번째 if조건(w == 2 | w == y) & !(y > z) & (1 == x ^ y != z)을 평가합니다.- w == y는 참입니다 (- w와- y모두 3).
- !(y > z)는 참입니다 (- y는- z보다 작습니다).
- 1 == x ^ y != z는 참입니다 (- x는 4이고,- y는- z와 같지 않으므로).
 
- 첫 번째 if블록 내에서w는x + y즉7이 됩니다.
- 두 번째 if조건7 == x ^ y != w를 평가합니다.- x는 4이고,- y는- w와 같지 않으므로 이는 참입니다.
 
- 따라서, w의 값7이 출력됩니다.
이 프로그램은 다양한 논리 연산자의 조합과 그에 따른 분기 처리를 통해 Java 프로그래밍의 조건문 실행 흐름을 설명합니다.
							추천 자료: ASP.NET Core 인증 및 권한 부여
						
						
							추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!