이세개발

1. 참조 타입 대한 설명으로 틀린것은 무엇입니까?

 

① 참조 타입에는 배열,열거,클래스,인터페이스가 있다.

   ( O )

 

② 참조 타입 변수의 메모리 생성 위치는 스택이다.

 

   ( O )

 

③ 참조 타입에서 ==,!= 연산자는 객체 번지를 비교한다.

 

   ( O )  

 

④ 참조 타입은 null 값으로 초기화 할 수 없다.

  
   ( X ) 참조타입 변수가 null 값을 가질 경우 참조할 객체가 없으므로 객체는 힙 메모리 영역에 생성되지 않고, 변수만 스택영역에서 생성되어 null값을 가질 수 있다. 
 
 
 
 
 

 

2.자바에서 메모리 사용에 대한 설명으로 틀린 것은 무엇입니까?

 

① 로컬 변수는 스택 영역에 생성되며 실행 블록이 끝나면 소멸된다.

   ( O )

 

② 메소드 코드나, 상수, 열거 상수는 정적(메소드)영역에 생성된다.

   ( O )

 

③ 참조되지 않는 객체는 프로그램에서 직접 소멸 코드를 작성하는 것이 좋다.

    ( X ) 자바에서는 더 이상 참조되지 않는 객체의 메모리를 자동으로 GarbageCollection(쓰레기수집) 해준다.

 

④ 배역 및 객체는 힙 영역에 생성된다.

    ( O )

 

 

 

 

3.String 타입에 대한 설명으로 틀린 것은 무엇입니까?

 

① String 은 클래스이므로 참조 타입이다.

   ( O )

 

② String 타입의 문자열 비교는 == 를 사용해야 한다.

    ( X ) = 을 사용한다

 

③ 동일한 문자열 리터럴을 저장하는 변수는 동일한 String 객체를 참조한다.

   ( O )

 

④ new String("문자열")은 문자열이 동일하더라도 다른 String 객체를 생성한다.

   ( O )

 

 

 

 

 

 

4.배열을 생성하는 방법으로 틀린 것은 무엇입니까? 정답 2

 

① int [] array = {1,2,3,4};

   ( O )

 

② int [] array : array {1,2,3};

    ( X )

 

③ int [] array = new int[3];

   ( O )

 

④ int [] [] array = new int [3][2]

   ( O )

 

 

 

 

 

 

 

5.배열의 기본 초기값에 대한 설명으로 틀린 것은 무엇입니까? 정답 3

 

① 정수 타입 배열 항목의 기본 초기값은 0이다.

   ( O )

 

② 실수 타입 배열 항목의 기본 초기값은 0.0f또는 0.0이다.

   ( O )

 

③ boolean 타입 배열 항목의 기본 초기값은 true이다.

    ( X )         boolean의 초기값은 false 입니다.

 

④ 참조 타입 배열 항목의 기본 초기값은 null이다.

   ( O )

 

 

 

 

 

 

6.배열의 길이에 대한 문제입니다. array.length의 값과 array[2].length의 값은 얼마입니까?

 

------------------------------------ [ Exercise06.java ]-------------------------------------------------------

public static void main(String[] args) {

int[][] array = { { 95, 86 }, { 83, 92, 96 }, { 78, 83, 93, 87, 88 } };

 

 

System.out.println(array.length);

System.out.println(array[2].length);

}

}

-------------------------------------------------------------------------------

Console

3

5

-------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

7.주어진 배열의 항목에서 최대값을 구해보세요(for문을 이용하세요.)

 

------------------------------------ [ Exercise07.java ]-------------------------------------------------------

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);

}

}

----------------------------------------------------------------------------------

Console

max: 8

-------------------------------------------------------------------------------

 

 

 

 

 

 

 

8.주어진 배열의 전체 항목의 합과 평균값을 구해보세요.(중첩 for문을 이용하세요.)

 

------------------------------------ [ Exercise08.java ]-------------------------------------------------------

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 count = 0;

for(int i=0; i<array.length; i++) {

for(int j=0; j<array[i].length; j++) {

sum += array[i][j];

count++;

}

}

avg = (double) sum / count;

 

System.out.println("sum: " + sum);

System.out.println("avg: " + avg);

}

}

----------------------------------------------------------------------------------

Console

sum: 881

avg: 88.1

-------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

9.다음은 키보드로부터 학생 수와 각 학생들의 점수를 입력받아서, 최고 점수 및 평균 점수를 구하는 프로그램입니다.실행 결과를 보고, 알맞게 작성해보세요.(참고로 16라인에서 Scanner의 nextInt()메소드는 콘솔에 입력된 숫자를 읽고 리턴합니다.)

 

 

------------------------------------ [ Exercise09.java ]-------------------------------------------------------

import java.util.Scanner;

 

public class Exercise09 {

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 = scanner.nextInt();

 

if(selectNo == 1) {

System.out.print("학생수> ");

studentNum = scanner.nextInt();

scores = new int[studentNum];

} else if(selectNo == 2) {

for(int i=0; i<scores.length; i++) {

System.out.print("scores[" + i + "]> ");

scores[i] = scanner.nextInt();

}

} 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("프로그램 종료");

}

}

----------------------------------------------------------------------------------

Console

--------------------------------------------------------------

1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료

--------------------------------------------------------------

선택> 1

학생수> 10

--------------------------------------------------------------

1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료

--------------------------------------------------------------

선택> 2

scores[0]> 80

scores[1]> 70

scores[2]> 60

scores[3]> 50

scores[4]> 40

scores[5]> 30

scores[6]> 20

scores[7]> 10

scores[8]> 25

scores[9]> 96

--------------------------------------------------------------

1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료

--------------------------------------------------------------

선택> 3

scores[0]: 80

scores[1]: 70

scores[2]: 60

scores[3]: 50

scores[4]: 40

scores[5]: 30

scores[6]: 20

scores[7]: 10

scores[8]: 25

scores[9]: 96

--------------------------------------------------------------

1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료

--------------------------------------------------------------

선택> 4

최고 점수: 96

평균 점수: 48.1

--------------------------------------------------------------

1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료

--------------------------------------------------------------

선택> 5

프로그램 종료

-------------------------------------------------------------------------------

profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!