public class Array {
public static void main(String[] args) {
int[] students; // 배열 변수 선언
students = new int[5]; // int형이 5개 연결되어있는것. 5개의 int를 넣을 수있음
//변수 값 대입
students[0] = 90; // 배열은 0부터 시작
students[1] = 80;
students[2] = 70;
students[3] = 60;
students[4] = 50;
//변수 값 사용
System.out.println("학생1 점수: "+students[0]);
System.out.println("학생2 점수: "+students[1]);
System.out.println("학생3 점수: "+students[2]);
System.out.println("학생4 점수: "+students[3]);
System.out.println("학생5 점수: "+students[4);
}
}
int[] students; // 1. 배열 변수 선언 (변수인데 배열을 담을 수 있는 변수)
students = new int[5]; //2. 배열 선언
배열을 사령하려면 배열 변수를 먼저 선언해야함.
배열 변수는 대괄호 사용 [ ]
배열 변수는 단순 값이 아닌 배열만 담을 수 있음
배열은 생성시 자동으로 초기화한다.
배열이 생성되고나면 참조값(x001)으로 바뀜
int[ ] = 0 / bololean[ ] = false / String[ ] = null
인덱스: [ ] 대괄호 안의 숫자
인덱스 배열은 0부터 시작한다.
그러므로 인덱스의 범위는 0 ~ (n-1)
ex) new int[5] = [0] [1] [2] [3] [4] 까지 존재 / [5]를 사용하면 오류 발생
배열의 기본형vs참조형
기본형(Primitive Type) | 참조형(Reference Type) |
---|---|
int, long, double, boolean과 같이 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입. | int[ ] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입. |
선언과 동시에 크기가 정해진다. 크기를 동적으로 바꾸거나 할 수 없다. | 크기를 동적으로 할당할 수 있다. Scanner를 사용해서 입력에 따라 size변수의 값이 변하고, 생성되는 배열의 크기도 달라질 수 있다. → 동적 메모리 할당 |
사용할 값을 직접 저장해서 빠르고 메모리를 효율적으로 처리함 | 메모리에 저장된 배열이나 객체의 참조를 저장(더 복잡한 데이터 구조를 만들고 관리할 수 있음) |
기능은 똑같은데 내부 코드를 개선하는 것