JAVA 배열
배열(Array)
메모리에 동일한 자료형의 데이터를 이웃하여 관리하는 기술
배열은 '반복문을 사용하기 위한 기술'
배열 선언 방법
[][][]
1. 자료형[] 배열명 = new 자료형[배열의 크기];
ㄴ배열의 값은 모르고, 배열의 크기를 알고 있을 때
2. 자료형[] 배열명 = {값1, 값2, 값3};
ㄴ배열의 값이 불규칙적이어서, 직접 타이핑해야할 때
3. 자료형[] 배열명 = new 자료형[]{값1, 값2};
ㄴ배열의 값이 불규칙적이어서, 직접 타이핑해야할 때
0 | 1 | 2 | 3 | 4 |
-상기 번호가 인덱스
배열의 요소가 저장된 곳에는 번호가 매겨지는데, 이를 인덱스라고 함.
인덱스는 0번부터 시작하여 배열 크기 -1까지 매겨짐.
최대 인덱스 값 = 배열의 크기-1
이는 인덱스값이 0부터 시작하기 때문.
for(int i = 0; i < arrInt1.length; i++)
식으로 반복문 이용할 것.
length의 의미는 배열의 '크기'
배열의 요소값에 접근하려면
배열명[인덱스]
배열명[idx] = 자료형에 맞는 값;
으로 특정 인덱스에 값을 넣을 수 있음.
다차원 배열
2차원 배열에서 for문을 사용하면 1차원 배열이 들어있음.
int a 는 점
1차원 배열은 선
2차원 배열은 면
3차원 배열은 공간
int[][] arr = new int[3][2];
1차원 배열에 요소 2개
2차원 배열에 배열 3개
boolean[][][] arr1 = new boolean[4][2][5];
1차원 배열에 요소 5개 = 사람 5명
2차원 배열에 배열 2개 = 방 2개
3차원 배열에 배열 4개 = 4층짜리 건물
'4'층짜리 건물 배열에
각 층마다 '2'개의 방이 있고
각 방마다 '5'명의 사람이 있다.
이하 가변형 배열
public void me5() {
int[][] arr = new int[2][];
arr[0] = new int[] {1, 2, 3};
arr[1] = new int[] {0};
foreach문
ㄴ 개선된 루프, 향상된 루프, 개선된 for문, 향상된 for문 등으로 불리움.
for(n-1차원배열 변수명 : n차원배열의변수명){
}
int[] arr
for(int x : arr){
sysout(x)
}
위 sysout은 sysout(arr[i]) 같은 기능을 함
int[][] arr
for(int[] x : arr){
for(int y : x){
}
}
int[][][] arr
for(int[][] x : arr){
for(int[] y : x){
for(int z : y){
}
}
}
배열을 사용할 때
1. 변수를 이용해서 반복문을 사용하려할 때
2. 여러 개의 데이터를 반환하려할 때
3. 객체가 같은 자료형의 객체를 소유하고 있음을 표현하고 싶을 때.