본문 바로가기

Java

[Java] 16

이차원 배열

- 배열 안에 요소로 배열이 있는 배열

이차원 배열의 선언

- 자료형[][] 배열명 = {{값, 값, ...}, {값, 값, ...}, {값, 값,...}, ...};

(ex) int[][] ar = {{1, 2}, {10, 20}, {100, 200}};

- 자료형[][] 배열명 = new 자료형[행][열];

​향상된 for문(빠른 for문, foreach문)

- 1.5 버전 이후로 지원되는 문법이다.

- 변수에는 배열 속의 요소가 차례대로 담긴다.

for(배열요소자료형 변수명 : 배열명) {

    ....

}

foreach문 vs 일반for문

- 일반 for문 : 인덱스 번호가 필요한 경우 혹은 배열 안의 값을 수정해야 하는 경우에 사용하면 편리하다.

- foreach문 : 배열 안에 있는 값을 조회하기만 할 때 사용하면 편리하다.

 

실습(배열 복습)

import java.util.Scanner;

public class ArrayTest2 {
	public static void main(String[] args) {

		int num = 10;
		int num2;
		
		int[] ar = {10,20,30};
		
		// 자료형[] 배열명 = new 자료형[크기];
		int[] ar2 = new int[5]; // 5칸 짜리 배열이 만들어지고, 그 안에는 0으로 초기화된다
		for (int i = 0; i < ar2.length; i++) {
			System.out.println(ar2[i]);
		}
		
		double[] ar3 = new double[3];
		for (int i = 0; i < ar3.length; i++) {
			System.out.println(ar3[i]);
		}
		
		String[] ar4 = new String[5];
		for (int i = 0; i < ar4.length; i++) {
			System.out.println(ar4[i]);
		}
		
		char[] ar5 = new char[3];
		for (int i = 0; i < ar5.length; i++) {
			System.out.println(ar5[i]);
		}
		
		Scanner sc = new Scanner(System.in);
		System.out.print("몇 개의 정수를 입력할 것입니까 >> ");
		int count = sc.nextInt();
		int[] numbers = new int[count];

	}
}

 

결과

 

실습(향상for문)

public class ArrayTest3 {

	public static void main(String[] args) {

		int[] ar = {10, 20, 30, 40, 50};
		for(int i = 0; i < ar.length; i++) {
			System.out.println(ar[i]);
		}
		
		for(int num : ar) {
			System.out.println(num);
		}
		
	}
}

 

결과

 

실습(이차원 배열)

public class NestedArray {

	public static void main(String[] args) {

		int[][] ar = {{1, 2}, {10, 20}, {100, 200}};
		
		int[][] ar2 = new int[3][2];
		System.out.println("ar2 길이 : " + ar2.length);
		System.out.println("ar2[0] 길이 : " + ar2[0].length)

		for(int[] temp : ar) {
			for(int num : temp) {
				System.out.println(num);
			}
		}

	}
}

 

결과

 

 

'Java' 카테고리의 다른 글

[Java] 18  (0) 2022.01.13
[Java] 17  (0) 2022.01.11
[Java] 15  (0) 2022.01.06
[Java] 14  (0) 2022.01.03
[Java] 13  (0) 2022.01.02