같은 자료형의 여러 데이터를 묶어서 '연속된' 메모리 공간에 넣는 자료형
만약에 int 자료형 5개 int n1, n2, n3, n4, n5가 있다고 하자
n1 = 55, n2 = 33, n3 = 52, n4 = 378, n5 = 3418961이라고 하면
간단한대로 콘솔에 이 다섯 숫자를 출력하고 싶다면
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
System.out.println(n4);
System.out.println(n5);
이렇게 5번 해야 나올 것이다.
그래서 배열이라는게 나왔다
어떤 메모리 공간 하나의 주소를 int[] 자료형으로 받기 떄문에 reference 타입이 되고
가리킨 주소의 공간부터 순서대로 index로 번호를 지정해서 순차적으로 '참조'할 수
있는 것이다
선언하는 방법은 크게 두가지가 있는데
여기서는 간편하게 int 배열로 선언해보자
// 직접 숫자를 지정해서 선언하는 경우
int[] arr1 = { 1,2,3,4,5};
// 배열의 크기를 지정해서 선언하는 경우
int[] arr2 = new int[5];
만약에 친절하게 크기도 지정하고 직접 숫자도 넣어주고 하면 어떨까?
에러뜬다..😢
// 요래 쓰면 컴퓨터가 안읽어줌
int[] arr3 = new int[5]{1,2,3,4,5};
여기서 위의 int[] arr2 = new int[5];
는 이렇게 선언하면 arr2에는 뭐가 들어있을까?
short, int, long 자료형 | 0 |
---|---|
double, float 자료형 | 0.0 |
reference 자료형 | null |
char 자료형 | '' |
배열은 참조변수이기 때문에 (String같은 건 제외) 바로 출력하면 주소값의 해쉬값이 출력된다
그렇기 때문에 두가지 정도로 출력할 수 있는데
int[] arr = {16,78,4,9,512,4564};
//1) 반복문을 이용해서 출력
for(int i = 0; i < arr.length; i++) { // (배열).length -> 배열의 크기를 정수로 돌려주는 메서드
System.out.print(arr[i] + " ");
}
// 2) Arrays를 import해서 쓰는방법
import java.util.Arrays;
System.out.println(Arrays.toString(arr));
위처럼 나타낼 수 있다.