JAVA/자바 완전 정복

자바 완전 정복 5장 연습문제 풀이

GaeGim 2022. 7. 5. 00:15
반응형

Q1. 배열의 2가지 특징을 기술하시오.

1. 동일한 자료형을 순차적으로 메모리에 확보할 수 있다.

2. 객체 생성 시 크기를 지정해야 하고 지정 후엔 변경이 불가하다.

 

 

 

 

Q2. 다음은 int[ ] 자료형에 3개의 정숫값 3, 4, 5를 저장하는 코드다. 각 코드상에서 메모리의 모양을 그리시오(이때 객체가 생성되는 위칫값은 100번지라 가정).

 

 

 

 

Q3. 다음 코드의 출력 결과를 쓰시오,

double []a = {1.2, 3.4, 5.6};
double []b = a;
b[0] = 7.8;
System.out.println(Arrays.toString(a));	//[7.8, 3.4, 5.6]
System.out.println(Arrays.toString(b));	//[7.8, 3.4, 5.6]

 

 

 

 

Q4. 다음과 같이 5개의 원소가 있는 1차원 배열의 모든 원소를 순서대로 출력하는 코드를 for-each문을 이용해 작성하시오.

int[] a = new int[]{1, 2, 3, 4, 5};
for(int k : a )
	System.out.println(k);

 

 

 

 

Q5~Q6. 다음과 같이 참조 변수 a의 이름으로 2차원 배열 객체를 생성하고자 한다. 다음 물음에 답하시오.

 

 

Q5. 2차원 배열 객체를 생성하고 각 위치에 다음과 같이 값을 초기화하는 코드를 작성하시오.

int [][]a = new int[2][];

//1
a[0] = new int[3];
a[0][0] = 1; a[0][1] = 3; a[0][2] = 5;
a[1] = new int[2];
a[1][0] = 7; a[1][1] = 9;

//2
a[0] = new int[]{1, 3, 5};
a[1] = new int[]{7, 9};

 

 

Q6. 이중 for문을 이용해 위의 2차원 배열 a의 모든 원소를 출력하는 코드를 작성하시오(단, 2개의 for문에 들어갈 조건식에는 반드시 .length를 사용해야 함).

for(int i=0; i<a.length; i++) {
	for(int j=0; j<a[i].length; j++) {
    		System.out.println(a[i][j]);
    }
}

 

 

 

 

Q7. 다음의 코드의 실행 결과를 쓰시오.

String a = "방가";
String b = new String("방가");
String c = "방가";
String d = new String("방가");
String e = "방가";
String f = new String("방가");

System.out.println(a==b);		//false
System.out.println(a==c);		//true
System.out.println(a==d);		//false
System.out.println(a==e);		//true
System.out.println(a==f);		//false
System.out.println();

System.out.println(b==c);		//false
System.out.println(b==d);		//false
System.out.println(b==e);		//false
System.out.println(b==f);		//false

 

 

 

 

Q8. String str = "내 이름은 [홍길동]입니다. 나이는 [15]살 입니다"라는 문자열이 있을 때 String 클래스의 메서드를 이용해 String name  "홍길동", int age → 15가 저장되도록 코드를 작성하시오(단, String 클래스의 indexOf(), lastIndexOf(), substring() 메서드는 반드시 한 번 이상 사용해야 함).

String str = "내 이름은 [홍길동]입니다. 나이는[15]살 입니다";
String name;
int age;

int srt1 = str.indexOf("[");
int end1 = str.indexOf("]");
name = str.substring(srt1+1, end1);

int srt2 = str.lastIndexOf("[");
int end2 = str.lastIndexOf("]");
age = str.substring(srt2+1, end2);

System.out.println(name);	//홍길동
System.out.println(age);	//15

 

 

반응형