프로그래밍 기초 및 응용

보충 - 배열 / 이차항 배열

황샐리 2022. 5. 10. 17:53
package day0510;

public class ArrayTest01 {
	
	public static void main(String[] args) {
		
		int[] arr=new int[10];
		//arr : 배열변수이름 : 배열변수 : 배열
		//배열은 변수를 자동으로 만들어줘요
		//배열[인덱스번호] : 인덱스0~
	}
}
int[] arr=new int[10];
		//arr : 배열변수이름 : 배열변수 : 배열
		//배열은 변수를 자동으로 만들어줘요
		//배열[인덱스번호] : 인덱스0~ length-1
		System.out.println(arr.length);
		arr[0]=1;
		arr[1]=2;
		arr[2]=3;
		arr[3]=4;
		arr[4]=5;
		arr[5]=6;
		arr[6]=7;
		arr[7]=8;
		arr[8]=9;
		arr[9]=10;
		
		for(int i=0; i < arr.length-1 ; i++) {
			System.out.print(arr[i] + " ");
		}
		
	}

위에 나열되어있는것을 반복문으로

for(int a=0; a <arr.length ; a++) {
			arr[a]= (a+1);
		}

이렇게 바꿀 수 있다.

 

int[] arr=new int[10];
		//arr : 배열변수이름 : 배열변수 : 배열
		//배열은 변수를 자동으로 만들어줘요
		//배열[인덱스번호] : 인덱스0~ length-1
		System.out.println(arr.length);
		//초기값 세팅
		for(int a=0; a <arr.length ; a++) {
			arr[a]= (a+1);
		}
		
		//세팅
		for(int i=0; i < arr.length ; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
		for(int r : arr) {
			System.out.print(r+" ");
		}

아래거는 foreach 문입니다~~!!

실행결과볼게요.

int[][] arr3= {1,2,3};

이런 형태는 1차원

int[][] arr=new int[2][3];
int[][] arr3= {{1,2,3},{4,5,6}};
int[] arr2=new int[2*3];

이렇게는 2차원

 

2차원 배열은 1차원배열의 집합!!!

마치 행렬과 같다고 할 수 있습니다.

int[][] arr=new int[2][3];
		//arr[0], arr[1]
		int[][] arr3= 
			{
				{1,2,3}, // arr3[0] : arr3[0][0],arr3[0][1],arr3[0][2]
				{4,5,6}
			};
		//int[] arr2=new int[2*3];
		System.out.println(arr3[0][0]);
	}

이렇게해서 나오는것은??!?!?

1

arr3[1][2] 라면?

6

 

 

2차원 배열의 length는? 1차원 배열이 몇개 있냐~~ 1차원 묶음이 몇개냐고요

int[][] arr=new int[4][5];//int 20개
		//출력
		System.out.println(arr.length);

System.out.println(arr[0].length);

위의 얘기는? 

arr[0] 칸에 몇개있냐고요. 5개!

2차원 배열 arr의 구성요소중 0번째꺼.

 

	int[][] arr5= 
			{
				{1,2,3}, // arr3[0] : arr3[0][0],arr3[0][1],arr3[0][2]
				{4,5,6,7,8}
			};

위의거 같은 동적 배열도 있지만, 잘 안쓰고 보통은 fix형으로 많이 씁니다. 정방형까지는 아니더라도 length가 고정되어 있는거요.

그러면 동적 배열 어케쓰냐고요?

//2차원배열 선언시 열은 생략 가능.
 		int[][] arr4=new int[2][];

걍 이렇게 쓰면 됨다.

 

동적 할당 볼게요.

int[][] arr4=new int[2][];
 		//아 여기서 내가 위에 행을 2개 만들었으니까 아래에서 열 설정해주면됨.
 		arr4[0]=new int[2]; //0층에는 2개
 		arr4[1]=new int[10]; //1층에는 10개

끝~!