메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 java 프로그래밍

뇌를 자극하는 java 프로그래밍 질의응답 게시판입니다.

안녕하세요 질문있습니다

2014-09-07

|

by gmawhaan88

1162

import java.util.Scanner;
class worst
{
        static Scanner input=new Scanner(System.in);

        public static void main(String[] args)
        {
                
                int[][] test=new int[][]{
                        {1, 2, 3},
                        {4, 5, 6}
                };
                
                System.out.println(test.length); // 2출력

                System.out.println(test[0].length); // 3출력
                System.out.println(test[1].length); // 3출력
                
                // 2차원배열 선언시 행개 만큼 인스턴스를 생성한다?
                // test[0]행 인스턴스 (int형 값 3개를 저장할 수 있는 인스턴스)
                // test[1]행 인스턴스 (int형 값 3개를 저장할 수 있는 인스턴스)
                // test인스턴스는 0행과 1행의 인스턴스 참조값을 저장하는 int?type의 필드(인스턴스변수) 두개 갖고있다
                // test[2][3]은 총 세개의 인스턴스를 생성한다?
                
        }
}



1. 주석처리된 부분의 정리한 내용이 맞나요?

정리한 내용이맞다면

예를들어 test[0][1]에 접근할때

test인스턴스 필드에 저장되어있는 test[0]인스턴스의 참조값으로 접근을 하나요?
아니면 test[0]인스턴스 참조값으로 바로 접근을 하나요?


2. 초기화할때

int[][] test=new int[2][3]{
                        {1, 2, 3},
                        {4, 5, 6}
                };

이런식으로하면 오류가 나던데 왜그런지 궁금합니다

정확하게 행과열의 갯수만큼 초기화시켰는데도 에러가나네요
댓글 입력