HiDevelop

[Java]2차원 배열과 for each문 본문

Java

[Java]2차원 배열과 for each문

꽃달린감나무 2021. 11. 4. 21:23
728x90

2차원 배열

import java.util.Scanner;

public class Variable01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			
		int[][] array = new int[3][4]; //2차원 배열 선언 
		
		array[0][0] = 10;
		
		int[][] array2 = new int[3][];//가변 크기의 배열 선언
		
		// array2[0][1] = 10; array2[0]의 배열은 아직 참조하는 배열이 없어 오류가 발생한다.
		
		array2[0] = new int[1]; // array2[0]에 1개짜리 배열을 참조하도록 하겠다.
		array2[1] = new int[2]; // array2[1]에 2개짜리 배열을 참조하도록 하겠다.
		
		int[][] array3 = { {1}, {1,2,3}, {1,2}}; // 선언과 동시에 초기화하는 방법
		
		System.out.println(array3[0][0]);
		
		for( int i =0; i<array3.length; i++) {
			for(int j =0; j<array3[i].length; j++)
				System.out.print(array3[i][j]);
			System.out.println();
		}
 	}
}

 

 

주의할 점 : 

 

int[][] array2 = new int[3][];

 

위와 같이 가변의 크기로 2차원 배열을 선언하면 1개의 배열만 선언되고 안에 참조해야할 배열의 값이 들어가있지 않으므로 코드를 실행할 시 배열의 오류가 생깁니다. 즉 가변의 길이값만 정해놓고 그 안에는 아무것도 넣지 않았으므로 참조해야할 값이 없는 것입니다. 따라서 

 

array2[0] = new int[1]; 
array2[1] = new int[2]; 

 

와 같이 배열의 값에 참조해야할 배열을 넣어주어야만 합니다. 

 

For each

int[] iarr = {10,20,30,40,50};
		
//A
		for(int i =0; i<iarr.length; i++) {
			System.out.println(iarr[i]);
		}
		
//B
		for(int value:iarr){
			System.out.println(value);
		}

배열의 모든 원소를 출력하기 위해서는 A와 같은 방법을 많이 사용했지만 JAVA 1.5버전부터 foreach구문을 지원 B 같이

for( 자료형 변수명 : 출력하고 싶은 자료구조)의 형태로 모든 원소를 추출할 수 있게 되었습니다.

728x90

'Java' 카테고리의 다른 글

[Java] StringBuilder Method  (0) 2021.11.13
[JAVA]Math.min/max Method  (0) 2021.11.05
Jave(Swtich문)  (0) 2021.10.23
쉽게 배우는 JAVA 2-7(예외 2)  (0) 2021.08.19
쉽게 배우는 JAVA 2-6(예외 변수 e)  (0) 2021.08.19