코딩일기/자격증
[정보처리기사] [ Java ] switch 문에서 break가 없을 때 | 2020년 정보처리기사 기출문제
jhy_2023
2024. 9. 23. 12:56
728x90
반응형
2020년 1회 정보처리기사 기출문제
1. 다음은 자바 소스코드이다. 출력 결과를 쓰시오.
public class good {
public static void main(String[] args) {
int i = 3;
int k = 1;
switch (i) {
case 0:
case 1:
case 2:
break;
case 3:
k = 0;
case 4:
k += 3;
case 5:
k -= 10;
default:
k--;
}
System.out.print(k);
}
}
정답
-8
전체 코드 해설
public class good {
public static void main(String[] args){
int i = 3;
int k = 1;
// switch 문에서 i의 값에 따라 실행 흐름이 결정됩니다.
switch (i) {
case 0:
case 1:
case 2:
// case 0, 1, 2에서는 아무런 코드도 실행되지 않습니다.
break;
case 3:
k = 0; // i가 3일 때 k는 0으로 설정됩니다.
// break가 없기 때문에 이후 case 4로 실행이 계속됩니다.
case 4:
k += 3; // k는 0 + 3이 되어 3이 됩니다.
// break가 없기 때문에 이후 case 5로 실행이 계속됩니다.
case 5:
k -= 10; // k는 3 - 10이 되어 -7이 됩니다.
// break가 없기 때문에 default로 실행이 계속됩니다.
default:
k--; // k는 -7 - 1이 되어 최종적으로 -8이 됩니다.
}
// k의 최종 값을 출력합니다.
System.out.print(k);
}
}
반응형
1. 변수 초기화
i = 3, k = 1로 시작합니다.
2. switch문 흐름:
- break가 없는 경우: 각 case 문 뒤에 break가 없으면, 해당 케이스를 만나면 이후의 모든 구문이 연속적으로 실행됩니다.
- i = 3이므로 case 3부터 실행됩니다.
- case 3: k = 0으로 설정됩니다.
- case 4: k += 3이 실행되어 k = 3이 됩니다.
- case 5: k -= 10이 실행되어 k = -7이 됩니다.
- default: k--이 실행되어 k = -8이 됩니다.
728x90
3. 결과:
최종적으로 System.out.print(k)에서 -8이 출력됩니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형