- 연속성 자료형, 열거
- 하나의 변수에 1개 이상의 동일한 자요형의 값을 저장할 수 있는 공간
- element 요소
- index, 색인, 순서
1차원 배열 : [열]
2차원 배열 : [행][열]
3차원 배열 : [면][행][열] <- 자바엔 없고 따로 class를 제공해준다.
new 연산자 : 메모리 (RAM : Random Access Memorry) 할당(확보) 연산자
int[] kor = new int[3]; //4바이트*3개 -> 12바이트 메모리 할당
kor[0]=10;
kor[1]=30;
kor[2]=50;
System.out.println(kor[0]);
System.out.println(kor[1]);
System.out.println(kor[2]);
//ArrayIndexOutOfBoundsException 발생(오타)
//System.out.println(kor[3]); // 에러!! kor의 3번째 요소는 존재하지 않음.
// new int[3]이면 0,1,2 해서 3개가 있는 것이고 kor[3]은 0,1,2,3 까지 있는 것임.
// kor배열 요소의 개수
System.out.println(kor.length);
💻 console
10
30
50
3
int[] kor = new int[3];
- 배열 할당 형식!kor[0]=10;
kor[1]=30;
kor[2]=50;
- 배열 안에 있는 값마다 값을 넣어준다.🚨 에러 주의
System.out.println(kor[3]);
- int[3] 이라고해서 인덱스가 3까지 있다는 것이 아니다.자료형[ ] 이름 = { }
↳ { } 안에 값을 콤마로 열거하여 입력해준다.
int[] eng= {20, 30, 40};
for(int i=0; i<eng.length; i++) {
System.out.println(eng[i]);
}//for end
💻 console
20
30
40
char[] ch= {'H', 'e', 'l', 'l', 'o'};
for(int i=0; i<ch.length; i++) {
System.out.println(ch[i]);
}//for end
💻 console
H
e
l
l
o
String[] name= {"개나리", "진달래", "무궁화"};
for(int i=0; i<name.length; i++) {
System.out.println(name[i]);
}//for end
💻 console
개나리
진달래
무궁화
자료형[ ][ ] 이름=new 자료형[2][3];
↳ new 뒤에있는 대괄호 안에 몇 행 몇 열을 지정할지 작성한다.
// 2행 3열
int[][] mat=new int[2][3]; // 4바이트*6개 -> 24바이트 메모리 할당. 정수값 6개 쓸수있다.
mat[0][0]=10; //int[1][1]
mat[0][1]=20; //int[1][2]
mat[0][2]=30; //int[1][3]
mat[1][0]=40; //int[2][1]
mat[1][1]=50; //int[2][2]
mat[1][2]=60; //int[2][3]
// 0행일때 반복문 3번, 1행일때 반복문 3번
for(int r=0; r<=1; r++) { //인덱스 숫자로 작성해야함 mat[0]에서 mat[1] 까지
for(int c=0; c<=2; c++) { //마찬가지로 인덱스 숫자로 작성 mat[0]에서 mat[2]까지
System.out.println(mat[r][c]);
}//for end
}//for end
//System.out.println(mat[4][4]); --> ArrayIndexOutOfBoundsException (오타, 인덱스확인 [4][4] 행열 없음.)
//kor의 4행 4열은 존재하지않음.
System.out.println(mat.length); //2 mat배열의 행의 개수
System.out.println(mat[0].length); //3 mat[0]행의 열의 개수 - 1.mat[0][0]=10; 2.mat[0][1]=20; 3.mat[0][2]=30;
System.out.println(mat[1].length); //3 mat[1]행의 열의 개수 - 1.mat[1][0]=40; 2.mat[1][1]=50; 3.mat[1][2]=60;
💻 console
10
20
30
40
50
60
2
3
3
자료형[ ][ ] 이름={ { } , { }, { } };
int[][] music= {
{10, 20}
,{30, 40, 50, 60}
,{70, 80, 90}
}; // {}쓰면 new를 생략할 수 있다.
System.out.println(music.length); //3 (행)
System.out.println(music[0].length); //2 (열)
System.out.println(music[1].length); //4 (열)
System.out.println(music[2].length); //3 (열)
int row=music.length;
// row=3
for(int r=0; r<row; r++) {
int col=music[r].length;
for(int c=0; c<col; c++) {
System.out.print(music[r][c] + " ");
}//for end
System.out.println();
}//for end
💻 console
3
2
4
3
10 20
30 40 50 60
70 80 90
int row=music.length; // row=3
for(int r=0; r<row; r++) {
int col=music[r].length; // col = 2, 4, 3
for(int c=0; c<col; c++) {
System.out.print(music[r][c] + " ");
- 전부 출력~