012_배열

Dec 14, 2023
012_배열
Contents
배열

배열

  • 여러 개의 변수를 하나로 묶어 넣은 것이다.
  • 같은 종류의 대량의 데이터를 한 번에 선언할 수 있다.

배열의 특징

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

배열 예제

배열 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]); } } }
출력 결과
notion image
💡
배열 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] + " "); } } }
출력 결과
notion image
 
Share article

chodong