Java 2차원 배열 선언 및 초기화
1. 2차원 배열은 배열을 요소로 포함하는 배열로 간주할 수 있습니다.
2. 자바에서 2차원 배열의 선언과 초기화는 고차원에서 저차원 순으로 이루어져야 한다.
예:
정적 초기화:
Array2.java:
프로그램 코드
공개 클래스 Array2 { 공개 정적 void main(String args[]) { int a[][] = {{1,2},{3,4,5,6},{7,8,9}} for( int i=0 ; i <a.length ; i++) { for(int j=0 ; j<a[i].length ; j++) { System.out.println("a[" + i + "][" + j + "]=" + a[i][j]) } } } }
동적 초기화:
프로그램 코드
공개 클래스 Array2D { 공개 정적 void main(String args[]) { int i, j; String s[][] s = new String[3][]; 1] = 새로운 문자열[3] ; s[2] = 새로운 문자열[2] ; for(i=0 ; i<s.length ; i++) { for(j=0 ; j <s[i].length ; j++) { s[i][j] = new String("내 위치는: " + i + "," + j) } } for(i=0 ; i<s.length ; i++) { for(j= 0 ; j<s[i].length ; j++) { System.out.println(s[i][j]) } } }
Java의 2차원 배열 연산 정보 [예]:
public class Lesson{ public static void main(String [] args){ //2차원 배열 선언 방법: //데이터 유형 [][] 배열 이름 = new 데이터 유형 [length][Length] //Data type [ ][] 배열 이름 = {{123},{456}} /* int [][] arr = {{123},{456}}; //행 2개와 열 3개로 구성된 2차원 배열을 정의하고 값을 할당합니다. for(int x = 0; x<arr.length; x++){ //행 찾기 for(int y = 0; y<arr [x].length; y++){ //각 줄의 요소 수 찾기 System.out.print(arr[x][y]) } System.out.println("/n"); int [][] num = 새로운 int [3][3]; //3개의 행과 3개의 열이 있는 2차원 배열을 정의합니다. num[0][0] = 1 //첫 번째 행의 첫 번째 요소에 값을 할당합니다. num[0][1; ] = 2; //첫 번째 행의 두 번째 요소에 num[0][2] = 3 값을 할당합니다. //첫 번째 행의 세 번째 요소에 값 num[1][0] = 4를 할당합니다. //두 번째 행의 첫 번째 요소를 할당합니다. 요소는 할당됩니다. num[1][1] = 5; //두 번째 행의 두 번째 요소에 num[1][2] = 6 값을 할당합니다. //두 번째 행의 세 번째 요소에 값 num[2][0] = 7을 할당합니다. 세 번째 행의 첫 번째 요소 요소에 num[2][1] = 8을 할당합니다. //세 번째 행의 두 번째 요소에 num[2][2] = 9를 할당합니다. 세 번째 행 for(int x = 0; x<num.length; x++){ //행 찾기 for(int y = 0; y<num[x].length; y++){ //각 줄의 요소 수를 찾습니다. System.out.print(num[x][y]) } System.out.println("/n" ) ; } } } //배열 값 arr[x][y]는 지정된 값이 x행과 y열의 값임을 나타냅니다. //2차원 배열 객체를 사용할 때는 length로 표현되는 길이에 주의하세요. //행(Row) 개수를 나타내는 배열 이름 바로 뒤에 길이(예: arr.length)를 추가하세요. 인덱스를 지정한 후 추가합니다. 위의 길이(예: arr[0].length)는 행이 소유한 요소, 즉 열(Column)의 개수를 나타냅니다.
또 다른 예를 살펴보겠습니다. 두 개의 2차원 배열을 새로운 2차원 배열로 통합하면 요소는 두 배열의 해당 요소의 합입니다. 두 개의 배열을 입력합니다: {{1,5},{2,3},{6,5}}, {{4,2},{2,6},{5,7}}
출력 인쇄: {{5,7},{4,9},{11,12}}
코드: class arraysCtrl{ static void arraysAdd(int[][] a,int[][] b) { StringBuffer sbResult = new StringBuffer("{") int[][] result = new int[a.length][ b.length]; for(int i=0;i<a.length;++i) { sbResult.append("{"); j=0;j<a[i].length;++j) { 결과[i][j] = a[i][j]+b[i][j] sbResult.append(result[i] [j]); if(j == a[i].length-1) { if(i == a.length-1) { sbResult.append("}"); sbResult.append("},"); } sbResult.append(","); } if(i == a.length-1) { sbResult.append("}"); .out.println(sbResult); } 공개 정적 void main(String[] args) { int[][] aTst1 = {{1,5},{2,3},{6,5}}, aTst2 = {{4,2},{2,6},{5,7}}; arraysAdd(aTst1,aTst2); }