java/기초문법
[Java] 배열
wugawuga
2022. 12. 29. 23:06
배열이란?
- 같은 타입의 여러 변수들을 하나의 묶음으로 다루는 것을 배열(array) 라고 한다
배열의 선언
// 타입[] 변수명;
int[] intArray;
// 타입 변수명[];
String strArray[];
배열의 생성
// 타입[] 변수명;
// 변수명 = new 타입[배열의 길이];
int[] intArray;
intArray = new int[3];
// 선언과 생성 동시에
int[] intArray = new int[3];
길이가 3이고 타입은 int 인 배열이 생성된다
하지만 선언과 생성을 동시에 할 수도 있는데 대부분의 경우 이렇게 한다
배열의 인덱스
- 인덱스(index) 는 배열의 요소마다 붙여진 일련번호
- 각 요소를 구별하는데 이용된다
인덱스는 0부터 시작하기 때문에 주의해야한다
int[] intArray = new int[3];
int findInt = intArray[index];
길이는 3으로 1, 2, 3 이렇게 세 개의 요소를 가지고 있지만
이 요소에 접근을 하기위해선 위 intArray[index] 인덱스 위치는 0, 1, 2 만 가능하다
0, 1, 2 가 아닌 다른 숫자를 넣어주면 에러가 발생한다 -> ArrayIndexOutOfBoundsException
배열에 접근해보자
int[] intArray = new int[]{1, 2, 3, 4, 5}; // new int[] 생략 가능
// 길이는 5이지만, index 는 0부터 시작이므로 첫번째 값 출력을 위해선 0부터 시작해야한다
for (int i = 0; i < ints.length; i++) {
System.out.println(ints[i]);
}
--------------------------------------
1
2
3
4
5
int[] intArray = {1, 2, 3, 4, 5};
for (int i : ints) {
System.out.println(i);
}
--------------------------------------
1
2
3
4
5
반복문과 향상된 반복문으로 요소에 접근하여 출력을 할 수 있다
향상된 반복문에선 중요한게 하나 있는데
i 값을 변경할 수 없다. 그냥 반복문에선 ints[i] = 10; 이런 식으로 재할당 가능하다
하지만 향상된 반복문에선 i 에 재할당을 해도 배열 요소는 변하지 않는다