5.3 ⭐연습문제

Q1 배열의 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));
System.out.println(Arrays.toString(b));[7.8, 3.4, 5.6]
[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[] {1, 3, 5};
        a[1] = new int[] {7, 9};

        // 방법 2.
        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;

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);
System.out.println(a == c);
System.out.println(a == d);
System.out.println(a == e);
System.out.println(a == f);
System.out.println();
 
System.out.println(b == c);
System.out.println(b == d);
System.out.println(b == e);
System.out.println(b == f);

결과
false
true
false
true
false

false
false
fasle
false

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

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

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

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

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

좋은 웹페이지 즐겨찾기