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