정방배열과 비정방 배열
모든 행에 열의 개수가 같으면 정방 배열
행마다 열의 개수가 다르면 비정방 배열
import java.util.Arrays;
public class ArrayTest22차원정방형 {
public static void main(String[] args) {
//1. new 이용
int [][] n = new int[2][3];
for (int i = 0; i < n.length; i++) { // 행반복
for (int j = 0; j < n[i].length; j++) { //열반복
System.out.println(n[i][j]);
}
}
System.out.println("########################");
for (int[] x : n) {
for (int x2 : x) {
System.out.println(x2);
}
}
n[0][0]=1;
n[0][1]=2;
n[0][2]=3;
n[1][0]=4;
n[1][1]=5;
n[1][2]=6;
System.out.println(Arrays.deepToString(n));
//2. 값 이용
int [][] n2 = {{9,8,7},{6,5,4}};
System.out.println(Arrays.deepToString(n2));
//3. new + 값 이용
int [][] n3 = new int[][] {{3,2,4},{665,32,1}};
System.out.println(Arrays.deepToString(n3));
System.out.println("행의길이:"+ n3.length);
System.out.println("1행의 열길이:"+ n3[0].length);
}//end main
}//end class
ex)
int [][] n2 = { {} , {} }
{} : 행
{}: 렬
import java.util.Arrays;
public class ArrayTest22차원2비정방형 {
public static void main(String[] args) {
// 비정방형 2차원 배열
//1. new 이용
int [][] n = new int[3][]; // 행크기만 지정, 열은 나중에 지정
n[0] = new int[2]; // 1행에 2열 지정
n[1] = new int[1]; // 2행에 1열 지정
n[2] = new int[3]; // 3행에 3열 지정
System.out.println(Arrays.deepToString(n));
n[0][0]=1;
n[0][1]=2;
n[1][0]=3;
n[2][0]=4;
n[2][1]=5;
n[2][2]=6;
System.out.println(Arrays.deepToString(n));
}//end main
}//end class
실행결과