본문 바로가기

자바/명품 자바 프로그래밍

명품 자바 프로그래밍 3장 이론 문제 / 2021.07.28

1. 다음 프로그램의 출력 결과는 무엇인가? 그리고 무엇을 하는 코드인가?

1
2
3
for(int i=1; i<10; i+=2) {
            System.out.print(i+" ");
        }
cs

1부터 10까지의 홀수를 출력하는 코드이다.
출력결과 : 1 3 5 7 9

2. 다음 for문의 실행 결과 sum 값이 다른 하나는?
③ 나머지는 1부터 9까지의 합을 구하는 코드이다.

3. 1에서 100까지 3의 배수를 더하는 while문이다. 빈칸에 적절한 코드를 삽입하라.
int sum = 0, i = 1;
while(i < 100){
if(i % 3 != 0){
i++;
continue;
}
else sum += i;
i++;
}

4. 1에서 50까지의 합을 더하는 while문이다. 빈칸에 적절한 코드를 삽입하라.
int sum = 0, i=1;
while(true) {
if( i>50 ) break;
sum += i;
i++;
}

5. 다음 배열 선언이 잘못된 것은?
④ int n [ ] = new int [3];

6. 다음 코드에 대해 실행 중 오류가 발생하는 것은?
int array[ ] = { 1, 2, 3, 4, 5 };
④ array.length는 5인데 인덱스 번호는 4까지이므로 오류가 발생한다.

7. 배열을 선언하고 생성하는 다음 물음에 답하라.
(1) 10개의 문자를 가지는 배열 c를 생성하는 코드를 한 줄로 쓰라.
char c [ ] = new char[10];
(2) 0에서 5까지 정수 값으로 초기화된 정수 배열 n을 선언하라.
int [ ] n = {0,1,2,3,4,5};
(3) '일', '월', '화', '수', '목', '금', '토' 로 초기화된 배열 day를 선언하라.
char [ ] day = { '일', '월', '화', '수', '목', '금', '토' };

8. 배열을 선언하고 생성하는 다음 물음에 답하라.
(1) 4개의 논리 값을 가진 배열 bool을 선언하고 true, false. false, true로 초기화하라.
boolean bool = { true, false, false, true };
(2) 5행 4열 크기의 2차원 실수 배열 d를 선언하라.
double d [ ][ ] = new double [5][4];
(3) 1에서 12까지 순서대로 초기화되는 4행 3열의 2차원 배열 val을 선언하라.
int val [ ][ ] = {{1,2,3}, {4,5,6}, {7,8,9}, {10,11,12}};

9. 다음 자바 코드에 대해 답하라.
int myArray[ ];
myArray[0] = 1;
myArray[1] = myArray[0] + 1;
(1) 어느 부분에 컴파일 오류가 있으며, 오류의 발생 원인은 무엇인가?
int myArray[ ]; 부분에 배열이 초기화 되지 않은 상태이므로 2, 3라인에 오류가 발생한다.
(2) 오류를 수정하라.
int myArray[ ] = new int [10]; (10은 임의의 숫자)

10. 배열 alpha를 모두 출력하고자 한다. 빈칸에 적절한 코드를 삽입하라.
(1)

1
2
3
4
char [] alpha = {'a''b''c''d'};
        for(int i = 0; i < alpha.length; i++) {
            System.out.print(alpha[i]);
        }
cs

(2)

1
2
3
4
char [] alpha = {'a''b''c''d'};
        for(char c : alpha) {
            System.out.print(c);
        }
cs


11. 다음 소스의 출력 결과는?

1
2
3
int n[][] = {{1}, {1,2,3}, {1}, {1,2,3,4}, {1,2}};
        for(int j = 0; j<n.length; j++)
            System.out.print(n[j].length + " ");
cs

답 : 1 3 1 4 2

12. 다음 그림과 같은 구조를 가지는double 타입의 2차원 배열을 선언하고, 값을 직접 배열에 삽입하는 방법으로 그림에 있는 값으로 초기화 하는 코드를 작성하라.

답 : double val [ ][ ] = {{1.1, 1.2, 1.2, 1.4}, {2.1, 2.2},
{3.1, 3.2, 1.2}, {4.1}};

13. 다음 중 main( ) 메소드에 대한 설명 중 틀린 것은?
① 원형은 public static void main(String[] args) 이다.

14. 다음 문장에서 빈 칸에 적절한 단어를 찾아 삽입하라.
자바 프로그램이 문법에 맞지 않게 작성되었을 때, 컴파일러는 컴파일 오류를 발생시킨다. 예외는 컴파일 오류가 없는 자바 프로그램이 실행 중에 발생한 오류를 말하며, 프로그램이 이 오류에 대한 대처가 없다면 바로 종료된다. 이런 오류가 발생할 가능성이 있는 코드들을 try블록에 넣고, 오류가 발생하면 처리할 코드는 catch 블록에 넣는다. finally 블록은 생략 가능하다.