일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 반다이몰
- java
- nico
- 単語
- 일본어
- javascript
- 인프런
- C로 시작하는 컴퓨터 프로그래밍4판
- 비즈니스일본어
- 一日一つメソッド
- ruby
- 디지몬
- Spring
- 자바
- 건담베이스
- 건담
- rails7
- html
- 日本語
- vscode
- Python
- メソッド
- Web
- Flutter
- DART
- jsp
- rails
- springboot
- 연습문제
- CSS
- Today
- Total
AR삽질러
이것이 자바다 - 5장 확인문제(참조타입) 본문
1. 참조 타입에 대한 설명으로 틀린 것은 무엇입니까?
정답 : 4 참조타입은 null값으로 초기화할 수 없다.
- 참조 타입 변수는 힙 영역의 객체를 참조하지 않는다는 뜻으로 null(널)값을 가질 수 있다. null값도 초기값으로 사용할 수 있기 때문에 null로 초기화된 참조 변순ㄴ 스택 영역에 생성된다. 참조 타입 변수가 null값을 가지는지 확인하려면 다음과 같이 ==, != 연산을 수행하면 된다.
2. 자바에서 메모리 사용에 대한 설명으로 틀린 것은 무엇입니까?
정답 : 3 참조되지 않는 객체는 프로그램에서 직접 소멸 코드를 작성하는 것이 좋다.
- 힙 영역은 객체와 배열이 생성되는 영역이다. 힙 영역에 생성된 객체와 배열은 JVM스택영역에 변수나 다른 객체의 필드에서 참조한다. 참조하는 변수나 필드가 없다면 의미 없는 객체가 되기 때문에 이것을 쓰레기로 취급하고 JVM은 쓰레기 수집기(Garabage Collector)를 실행시켜 쓰레기 객체를 힙 영역에서 자동으로 제거한다. 그렇기 때문에 개발자는 객체를 제거하기위해 별도의 코드를 작성할 필요가 없다.
3. String타입에 대한 설명으로 틀린 것은 무엇입니까?
정답 : 2 String타입의 문자열 비교는 == 를 사용해야한다.
- 동일한 문자열 리터럴로 String 객체를 생성했을 경우 == 연산의 결과는 true가 나오지만 new 연산자로 String객체를 생성했을 경우 연산의 결과는 false가 나온다. == 연산자는 변수에 저장된 객체 번지가 동일한지를 검사하기 때문이다.
4. 배열을 생성하는 방법으로 틀린 것은 무엇입니까?
정답 : 2 int[] array; array = {1,2,3};
- 변수는 한개의 데이터만 저장할 수 있다.
- 변수 = new 타입[] {값0, 값1, 값2, 값3 ....}
5. 배열의 기본 초기값에 대한 설명으로 틀린 것은 무엇입니까?
정답 : 3 boolean타입 배열 항목의 기본 초기값은 true이다.
분류 | 데이터 타입 | 초기값 |
기본 타입(정수) | byte[] char[] short[] int[] long[] |
0 '\u0000' 0 0 0L |
기본 타입(실수) | float[] double[] |
0.0F 0.0 |
기본 타입(논리) | boolean[] | false |
참조 타입 | 클래스[] | null |
인터페이스[] | null |
6. 배열의 길이에 대한 문제입니다. array.length의 값과 array[2].length의 값은 얼마입니까?
public class Exercise07 {
public static void main(String[] args) {
int[][] array = {
{95, 86},
{83, 92, 96},
{78, 83, 93, 87, 88}
};
System.out.println("array.length : " + array.length);
System.out.println("array[2].length : " + array[2].length);
}
}
정답 : array.length : 3
array[2].length : 5
7. 주어진 배열의 항목에서 최대값을 구해보세요(for문을 이용하세요).
public class Exercise07 {
public static void main(String[] args) {
int max = 0;
int[] array = {1,5,3,8,2};
// 작성위치
System.out.println("max : " + max);
}
}
정답 : 8
public class Exercise07 {
public static void main(String[] args) {
int max = 0;
int[] array = {1,5,3,8,2};
// 작성위치
for(int i = 0; i < array.length; i++) {
if(max < array[i]) {
max = array[i];
}
}
System.out.println("max : " + max);
}
}
8. 주어진 배열의 전체 항목의 합과 평균값을 구해보세요(중첩for문을 이용하세요).
public class Exercise08 {
public static void main(String[] args) {
int[][] array = {
{95, 86},
{83, 92, 96},
{78, 83, 93, 87, 88}
};
int sum = 0;
double avg = 0.0;
// 작성위치
System.out.println("sum : " + sum);
System.out.println("avg : " + avg);
}
}
정답 : 합계 881 평균 88.1
public class Exercise08 {
public static void main(String[] args) {
int[][] array = {
{95, 86},
{83, 92, 96},
{78, 83, 93, 87, 88}
};
int sum = 0;
double avg = 0.0;
// 작성위치
int num = 0;
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array[i].length; j++) {
sum += array[i][j];
num++;
}
}
avg = (double)sum/num;
System.out.println("sum : " + sum);
System.out.println("avg : " + avg);
}
}
9. 다음은 키보드로부터 학생 수와 각 학생들의 점수를 입력받아서 최고 점수 및 평균점수를 구하는 프로그램입니다. 실행 결과를 보고 알맞게 작성해보세요.(참고로 16라인에서 Scanner의 nextInt()메소드는 콘솔에 입력된 숫자를 읽고 리턴합니다.)
public class Exercise09 {
public static void main(String[] args) {
boolean run = true;
int studentNum = 0;
int[] scores = null;
Scanner scan = new Scanner(System.in);
while(run) {
System.out.println("------------------------------------------");
System.out.println("1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료");
System.out.println("------------------------------------------");
System.out.println("선택> ");
int selectNo = scan.nextInt();
if(selectNo == 1) {
// 작성위치
}else if(selectNo == 2) {
// 작성위치
}else if(selectNo == 3) {
// 작성위치
}else if(selectNo == 4) {
// 작성위치
}else if(selectNo == 5) {
run = false;
}
}
System.out.println("프로그램 종료");
}
}
정답
public class Exercise09 {
public static void main(String[] args) {
boolean run = true;
int studentNum = 0;
int[] scores = null;
Scanner scan = 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 = scan.nextInt();
if(selectNo == 1) {
// 작성위치
System.out.print("학생수를 입력하세요 : ");
studentNum = scan.nextInt();
scores = new int[studentNum];
}else if(selectNo == 2) {
// 작성위치
for(int i = 0; i < studentNum; i++) {
System.out.print("점수[" + i + "] : ");
scores[i] = scan.nextInt();
}
}else if(selectNo == 3) {
// 작성위치
for(int i = 0; i < studentNum; i++) {
System.out.println("점수리스트 [" + i + "] : " + scores[i]);
}
}else if(selectNo == 4) {
// 작성위치
int max = 0;
double total = 0.0;
for(int i = 0; i < studentNum; i++) {
if(max < scores[i]) {
max = scores[i];
}
total += scores[i];
}
System.out.println("최고점수 : " + max);
System.out.println("평균점수 : " + (double)total/scores.length);
}else if(selectNo == 5) {
run = false;
}
}
System.out.println("프로그램 종료");
}
}
'JAVA' 카테고리의 다른 글
이것이 자바다 - 6장 확인문제(클래스)-2 (0) | 2023.02.23 |
---|---|
이것이 자바다 - 6장 확인문제(클래스)-1 (0) | 2023.02.23 |
JAVA 로또번호 생성기 만들기, 로또 게임 만들기 (0) | 2023.02.22 |
JAVA 구구단 1 ~ 9단 단이름 가로출력 (0) | 2023.02.22 |
Java 주사위 게임 만들기 (0) | 2023.02.22 |