충분히 쌓여가는
이것이 자바다 5장 확인 문제 본문
1. 참조 타입에 대한 설명으로 틀린 것은 무엇입니까?
➊ 참조 타입에는 배열, 열거, 클래스, 인터페이스가 있다.
➋ 참조 타입 변수의 메모리 생성 위치는 스택이다.
➌ 참조 타입에서 ==, != 연산자는 객체 번지를 비교한다.
➍ 참조 타입은 null 값으로 초기화할 수 없다.
답: 4
2. 자바에서 메모리 사용에 대한 설명으로 틀린 것은 무엇입니까?
➊ 로컬 변수는 스택 영역에 생성되며 실행 블록이 끝나면 소멸된다.
➋ 메소드 코드나 상수, 열거 상수는 정적(메소드) 영역에 생성된다.
➌ 참조되지 않는 객체는 프로그램에서 직접 소멸 코드를 작성하는 것이 좋다.
➍ 배열 및 객체는 힙 영역에 생성된다.
답: 3
3. String 타입에 대한 설명으로 틀린 것은 무엇입니까?
➊ String은 클래스이므로 참조 타입이다.
➋ String 타입의 문자열 비교는 ==를 사용해야 한다.
➌ 동일한 문자열 리터럴을 저장하는 변수는 동일한 String 객체를 참조한다.
➍ new String (“문자열”)은 문자열이 동일하더라도 다른 String 객체를 생성한다.
답: 2
4. 배열을 생성하는 방법으로 틀린 것은 무엇입니까?
➊ int[ ] array = { 1, 2, 3 };
➋ int[ ] array; array = { 1, 2, 3 };
➌ int[ ] array = new int[3];
➍ int[ ][ ] array = new int[3][2];
답: 2
5. 배열의 기본 초기값에 대한 설명으로 틀린 것은 무엇입니까?
➊ 정수 타입 배열 항목의 기본 초기값은 0이다.
➋ 실수 타입 배열 항목의 기본 초기값은 0.0f 또는 0.0이다.
➌ boolean 타입 배열 항목의 기본 초기값은 true이다.
➍ 참조 타입 배열 항목의 기본 초기값은 null이다.
답: 3
6. 다음은 배열의 길이를 출력하는 코드입니다. 실행 결과를 작성해보세요.
int[][] array = {
{95, 86},
{83, 92, 96},
{78, 83, 93, 87, 88}
};
System.out.println(array.length);
System.out.println(array[2].length);
답:
3
5
7. 주어진 배열 항목에서 최대값을 출력하는 코드를 작성해보세요(for 문 이용).
int[] array = {1, 5, 3, 8, 2};
답:
int maxNum = 0;
int[] array = {1, 5, 3, 8, 2};
for(int i=0; i<array.length; i++) {
if(maxNum < array[i]) {
maxNum = array[i];
}
}
System.out.println(maxNum);
8. 주어진 배열 항목의 전체 합과 평균을 구해 출력하는 코드를 작성해보세요(중첩 for 문 이용).
int[][] array = {
{95, 86},
{83, 92, 96},
{78, 83, 93, 87, 88}
};
답:
int total = 0;
int sum = 0;
for(int i=0; i<array.length; i++) {
for(int k=0; k<array[i].length; k++) {
sum += array[i][k];
}
total += array[i].length;
}
double avg = (double)sum / total;
System.out.println("합: " + sum);
System.out.println("평균: " + avg);
9. 학생들의 점수를 분석하는 프로그램을 만들려고 합니다. 키보드로부터 학생 수와 각 학생들의 점수를 입력받고 while 문과 Scanner의 nextLine() 메소드를 이용해서 최고 점수 및 평균 점수를 출력하는 코드를 작성해보세요.
------------------------------------------------------
1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료
------------------------------------------------------
선택> 1
학생수> 3
------------------------------------------------------
1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료
------------------------------------------------------
선택> 2
scores[0]> 85
scores[1]> 95
scores[2]> 93
------------------------------------------------------
1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료
------------------------------------------------------
선택> 3
scores[0]: 85
scores[1]: 95
scores[2]: 93
------------------------------------------------------
1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료
------------------------------------------------------
선택> 4
최고 점수: 95
평균 점수: 91.0
------------------------------------------------------
1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료
------------------------------------------------------
선택> 5
프로그램 종료
답:
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
boolean run = true;
int studentNum = 0;
int[] scores = null;
Scanner scanner = new Scanner(System.in);
while(run) {
System.out.println("--------------------------------------------------------------");
System.out.println("1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료");
System.out.println("--------------------------------------------------------------");
System.out.print("선택> ");
int selectNo = Integer.parseInt(scanner.nextLine());
if(selectNo == 1) {
System.out.print("학생수> ");
studentNum = Integer.parseInt(scanner.nextLine());
scores = new int[studentNum];
} else if(selectNo == 2) {
for(int i=0; i<scores.length; i++) {
System.out.print("scores[" + i + "]> ");
scores[i] = Integer.parseInt(scanner.nextLine());
}
} else if(selectNo == 3) {
for(int i=0; i<scores.length; i++) {
System.out.println("scores[" + i + "]: " + scores[i]); }
}
else if(selectNo == 4) {
int max = 0;
int sum = 0;
double avg = 0;
for(int i=0; i<scores.length; i++) {
max = (max<scores[i])? scores[i] : max;
sum += scores[i];
}
avg = (double) sum / studentNum;
System.out.println("최고 점수: " + max);
System.out.println("평균 점수: " + avg);
} else if(selectNo == 5) {
run = false;
}
}
System.out.println("프로그램 종료");
}
}
'이것이 자바다 > 05 참조 타입' 카테고리의 다른 글
5.4 null과 NullPointerException - String 변수에 빈 문자열("") 대입 (0) | 2024.03.31 |
---|---|
5.4 null과 NullPointerException - equals (0) | 2024.03.31 |
5.4 null과 NullPointerException (0) | 2024.03.31 |
5.2 메모리 사용 영역 (0) | 2024.03.31 |
5.1 데이터 타입 분류 (0) | 2024.03.31 |