💡
다음 프로그램의 출력 결과는 무엇인가? 그리고 무엇을 하는 코드인가?
for(int i=1; i<10; i+=2) {
System.out.print(i+" ");
}
[정답] 1 3 5 7 9
💡
다음 for 문의 실행 결과 sum 값이 다른 하나는?
[정답] ③ for(int i =0; i>10; i++) sum++;
[해설]
①②④ → sum의 값이 45
③ → sum의 값이 0
③번은 i>10이라는 조건을 만족하지 않아 실행되지 않고 끝납니다.
💡
1 에서 100까지 3의 배수를 더하는 while 문이다. 빈칸에 적절한 코드를 삽입하라.
int sum=0, i=1;
while (i < 100) {
if (i%3 != 0) {
i++;
_________;
}
else sum += i;
i++;
}
[정답]
continue;
[해설]
(p124) continue 문은 반복문을 빠져나가지 않으면서 즉시 다음 반복으로 넘어가고자할 때 사용합니다.
💡
1 에서 50까지의 합을 더하는 while 문이다. 빈칸에 적절한 코드를 삽입하라.
int sum=0, i=1;
while (true) {
if(______) break;
sum += i;
i++;
}
[정답]
i > 50
[해설]
(p124) break 문은 하나의 반복문을 즉시 벗어날 때 사용합니다. break문이 실행되면 현재 반복문에서 벗어나 실행이 계속합니다.
💡
다음 배열 선언이 잘못된 것은?
[정답] ④ int n[3] = new int[3];
[해설]
(p129) 배열의 선언은 1.배열에 대한 레퍼런스 변수 선언, 2.배열 생성 - 배열의 저장 공간 할당 의 두 단계로 나누어져 실행됩니다. 실제 코드는 int n[] = new int[3];과 같이 나타내야합니다.
💡
다음 코드에 대해 실행 중 오류가 발생하는 것은?
[정답] ④ array[array.length] = 100;
[해설]
length는 배열의 길이를 반환합니다. 따라서 array.length는 배열 array의 길이를 나타내 5가 되고, 이는 배열의 범위가 아닌 인덱스를 나타냅니다.
💡
배열을 선언하고 생성하는 다음 물음에 답하라.
(1) 10개의 문자를 가지는 배열 c를 생성하는 코드를 한 줄로 쓰라.
(2) 0에서 5까지 정수 값으로 초기화된 정수 배열 n을 선언하라
(3) '일', '월', '화', '수', '목', '금', '토'로 초기화된 배열 day를 선언하라
[정답]
(1) char c[] = new char[10];
(2) int n[] = {0, 1, 2, 3, 4, 5};
(3) char day[] = {'일', '월', '화', '수', '목', '금', '토'};
💡
배열을 선언하고 생성하는 다음 물음에 답하라.
(1) 4개의 논리 값을 가진 배열 bool을 선언하고 true, false, false, true로 초기화하라.
(2) 5행 4열 크기의 2차원 실수 배열 d를 선언하라.
(3) 1 에서 12까지 순서대로 초기화되는 4행 3열의 2차원 배열 val을 선언하라.
[정답]
(1) boolean bool[] = {true, false, false, true};
(2) int d[][] = new int[5][4];
(3) int val[][] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
💡
다음 자바 코드에 대해 답하라
int myArray[];
myArray[0] = 1;
myArray[1] = myArray[0] + 1;
(1) 어느 부분에 컴파일 오류가 있으며, 오류의 발생 원인은 무엇인가?
(2) 오류를 수정하라.
[정답]
(1) int myArray[];
(2) int myArray[] = new int[2];
[해설]
(p129) 배열의 선언은 1.배열에 대한 레퍼런스 변수 선언, 2.배열 생성 - 배열의 저장 공간 할당 의 두 단계로 나누어져 실행됩니다. 해당 코드의 컴파일 오류는 배열 저장공간 할당에 대한 내용이 빠져 문제입니다. int myArray[] = new int[2];과 같이 나타내야합니다.
💡
배열 alpha를 모두 출력하고자 한다. 빈칸에 적절한 코드를 삽입하라.
(1)
char [] alpha = {'a', 'b', 'c', 'd'};
for (___________)
System.out.print(alpha[i]);
(2)
char [] alpha = {'a', 'b', 'c', 'd'};
for (___________)
System.out.print(c);
[정답]
(1) int i = 0; i < alpha.length; i++
(2) char c : alpha
💡
다음 소스의 출력 결과는?
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 + "");
[정답] 1 3 1 4 2
💡
다음 그림과 같은 구조를 가지는 double 타입의 2차원 배열을 선언하고, 값을 직접 배열에 삽입하는 방법으로 그림에 있는 값으로 초기화하는 코드를 작성하라
[정답]
// 배열 선언
double arr[][] = new double[4][];
arr[0] = new double[4];
arr[1] = new double[2];
arr[2] = new double[3];
arr[3] = new double[1];
// 배열에 값 설정
arr[0][0] = 1.1;
arr[0][1] = 1.2;
arr[0][2] = 1.3;
arr[0][3] = 1.4;
arr[1][0] = 2.1;
arr[1][1] = 2.2;
arr[2][0] = 3.1;
arr[2][1] = 3.2;
arr[2][2] = 1.2;
arr[3][0] = 4.1;
💡
다음 중 main() 메소드에 대한 설명 중 틀린 것은?
[정답] ① 원형은 public abstract void main(String[] args)이다.
[해설]
(p146) main() 메소드는 자바 응용 프로그램의 실행이 시작되는 특별한 메소드 입니다. public static void main(String[] args)가 원형입니다.
💡
다음 문장에서 빈 칸에 적절한 단어를 찾아 삽입하라.
자바 프로그램이 문법에 맞지 않게 작성되었을 때, _______ 는 컴파일 오류를 발생시킨다. _______는 컴파일 오류가 없는 자바 프로그램이 실행 중에 발생한 오류를 말하며, 프로그램이 이 오류에 대한 대처가 없다면 _______ 된다. 이런 오류가 발생할 가능성이 있는 코드들을 _______ 블록에 넣고, 오류가 발생하면 처리할 코드는 _______ 블록에 넣는다. _______ 블록은 생략 가능하다.
[정답] 컴파일러, 이벤트, 바로 종료, try, catch, finally
[해설]
(p151~152)
'대학교 > 명품 Java programming 문제' 카테고리의 다른 글
[Java] 명품 Java Programming 4장 연습 문제 풀이 해설 (이론 문제) (0) | 2024.05.19 |
---|---|
[Java] 명품 Java Programming 3장 연습 문제 풀이 해설 (실습 문제) (0) | 2024.05.18 |
[Java] 명품 Java Programming 2장 연습 문제 풀이 해설 (실습 문제) (0) | 2024.05.15 |
[Java] 명품 Java Programming 2장 연습 문제 풀이 해설 (이론 문제) (0) | 2024.05.15 |
[Java] 명품 Java Programming 1장 연습 문제 풀이 해설 (실습 문제) (0) | 2024.05.14 |