[JAVA] 3.배열

min·2024년 9월 12일

JAVA

목록 보기
4/10

1차원 배열

배열의 선언

배열을 선언할 때 배열의 크기를 명시하지 않는다.
세가지 표현 모두 같은 의미이다.


		int []myArray;
		int myArray[];
		int[] myArray;

배열의 생성, 초기화 및 사용

		int []myArray;
		
		myArray = new int[5];	//생성
		
		for(int i=0; i < 5; i++) {
			myArray[i] = i+1;	//초기화 
		}
		
		for(int i=0; i<5; i++) {
			System.out.println(myArray[i]);	//사용
		}

배열 선언 시 초기화


		int myArray[] = {1, 2, 3, 4, 5};

배열 사이즈

배열의 사이즈를 구할 때는 배열의 멤버인 length를 사용한다.

		System.out.println(myArray.length);

다차원 배열

2차원 배열의 선언

세가지 방식 모두 같은 표현이다.

		int [][]myArray;
		int []myArray[];
		int myArray[][];

단, 다음과 같은 경우에는 의미가 달라진다.

		int [][]myArray, yourArray;		// int  myArray[][], yourArray[][];
		int []myArray[], yourArray;		// int  myArray[][], yourArray[];
		int myArray[][], yourArray;		// int  myArray[][], yourArray;

2차원 배열의 생성, 초기화 및 사용

		int myArray[][];	//선언
		
		myArray = new int[2][3];	//생성
		
		for(int i = 0; i < 2; i++) {
			for(int j = 0; j < 3; j++) {
				myArray[i][j] = i*10 + j;	//초기화 
			}
		}
		
		for(int i = 0; i < 2; i++) {
			for(int j = 0; j < 3; j++) {
				System.out.println(myArray[i][j]);	//사용 
			}
		}
		
		//선언, 생성 초기화를 한 번에 처리
		int myArray[][] = new int[2][3] = {100, 200, 300, 400, 500, 600};

배열의 길이가 서로 다른 2차원 배열


public class Test {

	public static void main(String[] args) {


		int cnt = 0;
		int arr[][] = new int[5][];
		
		arr[0] = new int[1];
		arr[1] = new int[2];
		arr[2] = new int[3];
		arr[3] = new int[4];
		arr[4] = new int[5];
		
		for(int i = 0; i < arr.length; i++) {
			for(int j = 0; j < i + 1; j++) {
				arr[i][j] = cnt++;
			}
		}
		
		for(int i = 0; i < arr.length; i++) {
			for(int j = 0; j < i + 1; j++) {
				System.out.print("arr[" + i + "][" + j + "] = " + arr[i][j] + " / ");
			}
			System.out.println();
		}
		

	}

arr[0][0] = 0 /
arr[1][0] = 1 / arr[1][1] = 2 /
arr[2][0] = 3 / arr[2][1] = 4 / arr[2][2] = 5 /
arr[3][0] = 6 / arr[3][1] = 7 / arr[3][2] = 8 / arr[3][3] = 9 /
arr[4][0] = 10 / arr[4][1] = 11 / arr[4][2] = 12 / arr[4][3] = 13 / arr[4][4] = 14 /

배열의 길이가 서로 다른 2차원 배열 (문자열)

public class Test {

	public static void main(String[] args) {


		String arr[][] = new String[5][];

		
		for(int i = 0; i < arr.length; i++) {
			arr[i] = new String[i+1];
			
			for(int j = 0; j < arr[i].length; j++) {
				arr[i][j] = "" + j;
			}
		}
		
		for(int i = 0; i < arr.length; i++) {
			for(int j = 0; j < i + 1; j++) {
				System.out.print("arr[" + i + "][" + j + "] = " + arr[i][j] + " / ");
			}
			System.out.println();
		}
		

	}
}

arr[0][0] = 0 /
arr[1][0] = 0 / arr[1][1] = 1 /
arr[2][0] = 0 / arr[2][1] = 1 / arr[2][2] = 2 /
arr[3][0] = 0 / arr[3][1] = 1 / arr[3][2] = 2 / arr[3][3] = 3 /
arr[4][0] = 0 / arr[4][1] = 1 / arr[4][2] = 2 / arr[4][3] = 3 / arr[4][4] = 4 /

0개의 댓글