정보처리기사 실기 시험 기출 문제 - 논리 연산자와 조건문
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 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 프로그래밍의 조건문 실행 흐름을 설명합니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!