67. 다음 자바 코드를 실행한 결과는?

① x=7 y=0
② x=6 y=-1
③ x=7 y=-1
❹ Unresolved compilation problem 오류 발생
- 해설을 드리겠습니다. 😊
1. 변수 초기화int x = 1, y = 6; while (y--) { x++; } System.out.println("x = " + x + " y = " + y);
- x는 1로 초기화됩니다.
- y는 6으로 초기화됩니다.
- while (y--)는 후위 감소 연산자 (y--)를 사용하고 있습니다.
- 후위 감소는 y의 값을 먼저 사용하고, 그 후에 y를 1 감소시키는 연산자입니다.
- 루프는 y가 0보다 클 때만 실행되며, y가 0이 되면 루프가 종료됩니다.
- 첫 번째 반복:
- y는 6입니다. x++ 실행 후 x는 2가 됩니다.
- y는 5로 감소합니다.
- 두 번째 반복:
- y는 5입니다. x++ 실행 후 x는 3이 됩니다.
- y는 4로 감소합니다.
- 세 번째 반복:
- y는 4입니다. x++ 실행 후 x는 4가 됩니다.
- y는 3으로 감소합니다.
- 네 번째 반복:
- y는 3입니다. x++ 실행 후 x는 5가 됩니다.
- y는 2로 감소합니다.
- 다섯 번째 반복:
- y는 2입니다. x++ 실행 후 x는 6이 됩니다.
- y는 1로 감소합니다.
- 여섯 번째 반복:
- y는 1입니다. x++ 실행 후 x는 7이 됩니다.
- y는 0으로 감소합니다.
- 루프 종료:
- 이제 y는 0이 되어 루프가 종료됩니다.
- x는 루프가 끝난 후 7이고, y는 y-- 연산 후 0입니다.
- 하지만 여기서 중요한 점은 **y--**가 루프 종료 후 0으로 출력된다는 것입니다. 왜냐하면 y--는 후위 연산자여서 루프가 진행되면서 y가 0이 되기 직전에 감소됩니다. 결국, y는 0이 되고 출력문에서는 y = 0으로 출력됩니다.
- x의 값은 7이고, y의 값은 0입니다.
- 따라서 출력 결과는 **x = 7 y = 0**이 됩니다.
위 코드에서는 출력문법 자체에는 문제가 없지만, 일부 IDE나 설정에 따라 자주 발생하는 오류 중 하나입니다. 특히 + 연산자를 사용하여 문자열을 연결하는 과정에서 종종 실수가 발생할 수 있습니다. 예를 들어:위와 같이 + 연산자가 빠진 형태로 작성되면 **컴파일 오류(Unresolved compilation problem)**가 발생합니다. 이런 문제가 발생하는 이유는 문자열을 연결하는 부분에서 잘못된 문법을 사용했기 때문입니다.따라서, 주어진 코드에서 **"Unresolved compilation problem 오류"**가 발생하는 원인은 잘못된 문법 사용에 있습니다.6. 정리System.out.println("x = " + x + " y = " + y);
- x++는 x를 1씩 증가시킵니다.
- y--는 y의 값을 먼저 사용하고, 그 후에 y를 1 감소시킵니다.
- while 루프가 종료된 후 x = 7, y = 0이지만, 잘못된 문법으로 오류가 발생합니다.
- **정답은 ❹ 'Unresolved compilation problem 오류 발생'**입니다.
- 5. 결론
- System.out.println("x = " x + " y = " + y);
- 그런데, 문제에서 제공한 선택지 중에서 "Unresolved compilation problem" 오류가 발생한다고 표시된 이유는, 출력 문법이 잘못되어 있습니다.
- System.out.println("x = " + x + " y = " + y);
- while (y--) { x++; }
- int x = 1, y = 6;
- 주어진 Java 코드는 다음과 같습니다:
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2020년 4회 정보처리기사 기출문제 69번 (0) | 2025.04.03 |
---|---|
2020년 4회 정보처리기사 기출문제 68번 (0) | 2025.04.03 |
2020년 4회 정보처리기사 기출문제 66번 (0) | 2025.04.03 |
2020년 4회 정보처리기사 기출문제 65번 (0) | 2025.04.03 |
2020년 4회 정보처리기사 기출문제 64번 (0) | 2025.04.03 |