프로그래밍 기초 및 응용
보충 - 배열 / 이차항 배열
황샐리
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개
끝~!