21-3아래 Java 프로그램을 실행했을 때 출력되는 값을 적으시오.p… | 2021년 정보처리기사실기 3회차 기출문제 상세 페이지
7
21-3
아래 Java 프로그램을 실행했을 때 출력되는 값을 적으시오.
public class Main {
public static void main(String[] args) {
int p = 6, q = 2, r = 6, s = 9;
if ((p == 4 | p == r) & (q < s) & (q == 3 ^ r != s)) {
p = q * r;
if (12 == p ^ q > r)
System.out.println(p);
else
System.out.println(q);
} else {
p = r + s;
if (15 != p | r > s)
System.out.println(p);
else
System.out.println(s);
}
}
}해설
12
[해설]
boolean에 쓴 |·&·^는 단락 평가 없이 양쪽을 모두 계산하며, ^는 두 값이 다를 때만 true인 XOR이다. 비교 연산자가 이 논리 연산자들에 앞서 먼저 계산된다.
바깥 if의 세 항은 모두 참이다.
(p == 4 | p == r) = (false | true) = true
(q < s) = (2 < 9) = true
(q == 3 ^ r != s) = (false ^ true) = true
따라서 p = q × r = 2 × 6 = 12가 된다.
12 == p ^ q > r = true ^ false = true → p 출력 = 12
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.