혼자 공부하는 자바 05장 참조 타입 확인 문제
2023. 2. 13. 23:00ㆍ공부/자바
반응형
혼자 공부하는 자바
혼자 해도 충분하다! 1:1 과외하듯 배우는 자바 프로그래밍 자습서 (JAVA 8 &11 지원) 이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다! 20명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서 20명의 베타리더와 함께 구성하여 입문자에게 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. ‘혼자 공부해본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.
- 저자
- 신용권
- 출판
- 한빛미디어
- 출판일
- 2019.06.10
<혼자 공부하는 자바> 신용권 저, 한빛 미디어 출판(2019.06.10)
※ 직접 풀이한 문제
05-1 확인 문제 175p
05-1-1 맞는 것에 O표, 틀린 것에 X표 하세요.
- o
- o
- o
- x - 참조 변수는 null 값으로 초기화할 수 있으며 이는 참조하는 것이 없는 뜻이다.
05-1-2 맞는 것에 O표, 틀린 것에 X표 하세요.
- o
- o
- x - JVM이 자동으로 수거한다. (가비지 컬렉터)
- o
05-1-3 맞는 것에 O표, 틀린 것에 X표 하세요.
- o
- x - 참조 타입에서 ==, !=은 번지 비교이며, String은 equals() 메소드를 사용해야 한다.
- o
- o
05-1-4 맞는 것에 O표, 틀린 것에 X표 하세요.
- o
- o
- o
- x - 초기화뿐만 아니라 null로 초기화된 참조 변수에도 해당
05-1-5 실행결과를 빈 칸에 기술하세요.
- true
- false
- true
- true
- true
05-2 확인 문제 199p
05-2-1 틀린 것은 무엇입니까?
- ② int[] array;array={1,2,3};
- 배열 변수를 선언하고 나중에 초기화를 한다면 new를 통해 배열을 초기화 해야한다.
05-2-2 틀린 것은 무엇입니까?
- ③ boolean 타입 배열 항목의 기본 초기값은 true이다.
- boolean 타입 배열 항목의 기본 초기값은 false이다.
05-2-3 array.length의 값과 array[2].length의 값은 얼마입니까?
- array.length : 3
- array[2].length : 5
05-2-4 주어진 배열의 항목에서 최대값을 구해보세요.
// answer for문 순회
package sec02.verify.exam04;
public class Example {
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);
}
}
// answer 향상된 for문
package sec02.verify.exam04;
public class Example2{
public static void main(String[] args){
int max=0;
int[] array={1,5,3,8,2};
for(int item : array){
if(max<item){
max=item;
}
}
System.out.println("max : "+max);
}
}
// answer 3항 사용
package sec02.verify.exam04;
public class Example3{
public static void main(String[] args){
int max=0;
int[] array={1,5,3,8,2};
for(int item : array){
max=(max<item)?item:max;
}
System.out.println("max : "+max);
}
}
05-2-5 중첩 for문을 이용해서 주어진 배열의 전체 항목의 합과 평균값을 구해보세요.
//answer
package sec02.verify.exam04;
public class Example3{
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 k=0;k<array[i].length;k++){
sum+=array[i][k];
count++;
}
}
avg=(double)sum/count;
System.out.println("sum: "+sum);
System.out.println("avg: "+avg);
}
}
05-2-6 실행결과를 보고 알맞게 작성해보세요.
// answer
package sec02.vertify.exam06;
import java.util.Scanner;
public class Exam06{
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.prpackage sec02.verify.exam06;
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());
}else if(selectNo==2){
scores=new int[studentNum];
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.print("scores["+i+"]> "+scores[i]);
}
}else if(selectNo==4){
int sum=0;
int max=0;
double avg=0.0;
for(int i=0;i<scores.length;i++){
sum+=scores[i];
if(max<scores[i]){
max=scores[i];
}
}
avg=(double)sum/studentNum;
System.out.println("최고 점수 : "+max);
System.out.println("평균 점수 : "+avg);
}else if(selectNo==5){
run=false;
}
}
System.out.println("프로그램 종료");
}
}intln("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());
}else if(selectNo==2){
scores=new int[studentNum];
for(int i=0;i<scores.length;i++){
System.outprint("scores["+i+"]> ");
scores[i]=Integer.parseInt(scanner.nextLine());
}
}else if(selectNo==3){
for(int i=0;i<scores.length;i++){
System.outprint("scores["+i+"]> "+scores[i]);
}
}else if(selectNo==4){
int sum=0;
int max=0;
double avg=0.0;
for(int i=0;i<scores.length;i++){
sum+=scores[i];
if(max<scores[i]){
max=scores[i]
}
}
avg=(double)sum/studentNum;
System.out.println("최고 점수 : "+max);
System.out.println("평균 점수 : "+avg);
}else if(selectNo==5){
run=false;
}
}
System.out.println("프로그램 종료");
}
}
05-3 확인 문제 210p
05-3-1 맞는 것에 O표, 틀린 것에 X표 하세요.
- o
- o
- x - 열거 타입 변수도 참조 타입이기 때문에 null을 대입할 수 있다.
- o
05-3-2 LoginResult 열거 타입을 선언해보세요.
//answer
public enum LoginResult{
FAIL_PASSWORD,
SUCCESS,
FAIL_ID
}
반응형
'공부 > 자바' 카테고리의 다른 글
혼자 공부하는 자바 07장 상속 확인 문제 (0) | 2023.02.15 |
---|---|
혼자 공부하는 자바 06장 클래스 확인 문제 (0) | 2023.02.14 |
혼자 공부하는 자바 04장 조건문과 반복문 확인 문제 (0) | 2023.02.10 |
혼자 공부하는 자바 03장 연산자 확인 문제 (0) | 2023.02.08 |
혼자 공부하는 자바 02장 자바 변수와 타입 확인 문제 (0) | 2023.02.06 |
이 글은 제품의 이용후기가 포함되었으며, 이에 따른 일정액의 수수료를 제공받습니다.