Java

3. 1,2 차원 배열 선언 문법

문정훈 2022. 1. 17. 16:02

1. 1차원 배열 선언 방법

방법1) 

int[] a;
a=new int[3];
a=new int[] {1,2,3};

배열 길이를 모르는채로 배열을 선언한다 -> 배열의 크기를 지정한다 -> 배열에 요소를 할당한다.

 

방법2) 

int[] b=new int[3];
b=new int[] {1,2,3}; 

//또는 
b[0] = 1;
b[1] = 2;
b[2] = 3;

배열을 생성할 떄 배열의 크기를 할당한다 -> 배열에 요소를 할당한다. 

 

방법3) 

int[] c= {1,2,3}; //정석

처음 배열을 선언할 때 요소를 바로 삽입한다. ->크기가 요소의 크기만큼 자동으로 할당됨 

방법4) 

int[] a=new int[]{1,2,3};

처음 배열 선언시 요소를 바로 삽입하며 new연산자를 통해 요소를 할당한다. 

 

 

2. 2차원 배열 선언 방법

방법1) 

int[][] A;
A=new int[2][];
A[0]=new int[] {1,2,3};
A[1]=new int[] {1,2,3,4};

2차원 배열을 선언한다 -> 2차원 배열의 왼쪽 공간만 할당하면된다.-> 각 공간에 배열의 요소를 할당한다. 

 

방법2)

int[][] C= {{1,2,3},{4,5,6,7},{1,2}};

2차원 배열을 선언함과 동시에 2차원으로 요소를 할당한다. 

 

 

방법3)

int[][] asd=new int[3][3];
asd[0][1]=0;
asd[0][2]=1;

배열을 선언할 때 2차원 배열의 공간의 크기를 지정한다. -> 요소를 하나씩 할당한다. 

 

 

 

 


3. 헷갈리는거 정리

헷1)

String[][] str1=new String[1][];
str1[0]=new String[3];
str1[0]=new String[] {"moon","jung","hun"};
String[][] str1 = {{"str"},{"sfe"},{"31231"}};

위 두 방법을 혼합해서 사용하면 당연히 안됨 !

 

 

헷2) 

int[][] a=new int[3][];
a[0][1]=5;
//열값이 정해지지 않으므로 값을 저정할 수 없다.