카테고리 없음

[JAVA] 211-7

codecodekode 2024. 10. 18. 20:23

다음 Java 프로그램 결과를 쓰시오.

public class QfranTest{
     public static void main(String []args){
        int a[][] = {{45, 50, 75}, {89}};
        System.out.println(a[0].length);
        System.out.println(a[1].length);
        System.out.println(a[0][0]);
        System.out.println(a[0][1]);
        System.out.println(a[1][0]);
     }
}

1. 2차원 배열 a 선언 및 초기화

int a[][] = {{45, 50, 75}, {89}};
  • 배열 a는 두 개의 1차원 배열을 포함하는 2차원 배열입니다.
    • a[0]은 {45, 50, 75}라는 배열을 가집니다.
    • a[1]은 {89}이라는 배열을 가집니다.

2. 각 출력문의 해석

  1. System.out.println(a[0].length);
    • a[0]은 {45, 50, 75}이므로, 이 배열의 길이는 3입니다.
    • 출력: 3
  2. System.out.println(a[1].length);
    • a[1]은 {89}이므로, 이 배열의 길이는 1입니다.
    • 출력: 1
  3. System.out.println(a[0][0]);
    • a[0][0]은 첫 번째 배열의 첫 번째 요소인 45입니다.
    • 출력: 45
  4. System.out.println(a[0][1]);
    • **a[0][1]**은 첫 번째 배열의 두 번째 요소인 50입니다.
    • 출력: 50
  5. System.out.println(a[1][0]);
    • **a[1][0]**은 두 번째 배열의 첫 번째 요소인 89입니다.
    • 출력: 89

1. 2차원 배열에서의 인덱싱

  • 2차원 배열은 배열 안에 배열이 있는 구조입니다.
    • 첫 번째 인덱스는 **행(row)**을 나타내고,
    • 두 번째 인덱스는 그 행 내에서 **열(column)**을 나타냅니다.

배열 a의 구조:

java
코드 복사
int a[][] = {{45, 50, 75}, {89}};

이 배열의 시각적 구조는 다음과 같습니다:

css
코드 복사
a = [ [45, 50, 75], // a[0] [89] // a[1] ]

각각의 인덱스가 의미하는 것:

  • **a[0]**은 첫 번째 배열인 [45, 50, 75]을 나타냅니다.
    • a[0][0] = 45
    • a[0][1] = 50
    • a[0][2] = 75
  • **a[1]**은 두 번째 배열인 [89]을 나타냅니다.
    • a[1][0] = 89

왜 **a[0][1] = 50**인가?

  • **a[0]**은 첫 번째 배열인 [45, 50, 75]입니다. 여기서:
    • **a[0][0]**은 첫 번째 요소인 45,
    • **a[0][1]**은 두 번째 요소인 50,
    • **a[0][2]**은 세 번째 요소인 75입니다.
    즉, **a[0][1]**은 첫 번째 배열(a[0])의 두 번째 요소로, 값은 **50**입니다.

왜 **a[1][0] = 89**인가?

  • **a[1]**은 두 번째 배열로, 이 배열에는 요소가 하나만 있습니다.
    • **a[1][0]**은 첫 번째이자 유일한 요소인 **89**입니다.

결론:

  • **a[0][1]**은 첫 번째 배열(a[0])의 두 번째 요소이므로 값은 50입니다.
  • **a[1][0]**은 두 번째 배열(a[1])의 첫 번째 요소이므로 값은 89입니다.

2차원 배열에서 인덱스는 행(row)와 열(column)을 차례로 지정하여, 해당 요소를 선택하는 구조를 따릅니다.