1.다차원 배열
03-01에서 설명한 배열의 다차원 선언에 대한 설명이다.
일차원 배열의 경우 int [] 변수이름과 같이 선언하는데
다차원의 경우는 원하는 차원 수 만큼 []를 늘주면 된다.
2, 3차원의 예
String[][] royal = new String[4][4];
String[][][] royal = new String[4][4][3];
2.배열의 길이, length
배열 선언시 지원되는 메서드 중 하나인 length는 배열 방의 길이를 반환해준다.
위의 예에서 royal.length를 하면 royal[의 1차원 길이가 반환되고
royal[x].length를 사용하면 2차원의 길이가 반환된다.
length는 배열이 쓰일때 for에 자주 활용되므로 꼭 기억해두자.
- 2차원 예
package chap03.exam03.MultiArr; public class TwoD { public static void main(String[] args) { // 4층 4호를 가지고 있는 royal 아파트 만들기 String[][] royal = new String[4][4]; // royal.length = royal 아파트의 층 수 //royal[i].length = i 층의 호 수 // royal[0][0] = "0층 0호"; for(int i = 0; i < royal.length; i++) { for(int j = 0; j < royal[i].length; j++) { royal[i][j] = i + "층 " + j + "호"; System.out.println(royal[i][j]); } } // 바로 옆에 arr 아파트, 2층 3호 // int arr[][] = { // {00, 01, 02}, // {10, 11, 12} // }; } }
- 3차원의 예
package chap03.exam03.MultiArr; public class threeD { public static void main(String[] args) { // 4층 4호 방 3개 String[][][] royal = new String[4][4][3]; System.out.println("전체 층 수 : " + royal.length); System.out.println("0층의 호 수 : " + royal[0].length); System.out.println("0층 0호의 방 수 : " + royal[0][0].length); System.out.println(); System.out.println(royal[0][0][0]); // Null royal[0][0][0] = "철수의 방"; royal[2][3][2] = "영희의 방"; //나머지 방을 공실 // 1. 전체 방에 공실 표시를 어떻게?? for(int i = 0; i < royal.length; i++) { for(int j = 0; j < royal[i].length; j++) { for(int k = 0; k < royal[i][j].length; k++) { // 2. 영희방과 철수방을 어떻게 빼는가? if(royal[i][j][k]== null ) { royal[i][j][k] = "공실"; } System.out.println(i + "층 " + j + "호 " + k + "방 : " + royal[i][j][k]); } } } } }
'개념 및 코딩 > 03.배열' 카테고리의 다른 글
[JAVA]03-01.배열, 향상된 for 문 (0) | 2018.08.22 |
---|