Contents
배열배열
- 여러 개의 변수를 하나로 묶어 넣은 것이다.
- 같은 종류의 대량의 데이터를 한 번에 선언할 수 있다.
배열의 특징
- 연속된 공간에 데이터가 저장된다.
- ‘풀스캔(Full Scan)’이 빠르다.
- (마지막 공간) - (시작 공간) + 1 만큼 공간을 차지한다. 이를 ‘인덱스(Index)’라 한다. ex) int[] a = new int [3];의 경우 int는 4바이트를 차지 하기 때문에 4 ~ 15 까지 차지 하니 15 - 4 + 1 = 12개의 저장 공간을 차지한다.
‘풀스캔(Full Scan)’은 프로그램의 전체를 읽는 것이며,
벡터에서 풀스캔이 가장 빠른게 ‘배열’이다.
벡터 : 속도와 방향을 동시에 나타낸 것 (동일한 타입이 여러 개)
스칼라 : 속도만 나타낸 것
그림 예제

배열 예제
배열 1번 예제
package ex03;
public class ArrayEx01 {
public static void main(String[] args) {
// 타입이 있어야만 연속된 공간을 확보 할 수 있다. (배열)
int[] arr = new int[3]; // 4 + 12 = 16-1
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
for (int i = 0; i < 3; i++) {
System.out.println(arr[i]);
}
}
}
출력 결과

배열 1번 예제에서 값을 초기화 할 때 배열의 저장 공간과 같은 곳에 값을 초기화 할 경우
ex)
int[] arr = new int[3];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 at ex03.ArrayEx01.main(ArrayEx01.java:11)
와 같은 에러가 발생 할 수도 있으니 주의 하자!
배열 2번 예제
package ex03;
public class PizzaTopping {
public static void main(String[] args) {
String[] topping = {"Pepperoni", "Mushrooms", "Onions", "Sausage", "Bacon"};
// 1. String s 에 topping의 값을 하나씩 저장하면서 출력하는 방식
for (String s : topping) { // 변수 topping의 첫 번째 요소부터 마지막 요소 까지 차례로 대입한다!
System.out.print(s + " ");
}
System.out.println();
// 2. 전통적인 방식
for (int i = 0; i < topping.length; i++) { // length는 배열의 크기를 알고싶을때 사용한다!
System.out.print(topping[i] + " ");
}
}
}
출력 결과

Share article