배열이란
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
*한번 생성하면 길이를 변경할 수 없다.
선언 방법 | 선언 예 |
---|---|
타입[ ] 변수이름; | int[ ] score; |
타입 변수이름[ ]; | int socre[ ]; |
: 생성된 배열을 다루기 위한 참조변수를 위한 공간 생성
: 실제 값을 저장하는 공간 생성
예)
int[] score; // 선언
score = new int[5]; // 생성
int[] score = new int[5]; //선언, 생성 한 번에
생성과 동시에 기본값 0으로 초기화된다.
원하는 값을 지정하려면 아래와 같은 방법으로 값을 지정한다.
int[] score1 = new int[]{50,120,43,301,30}; // 생성과 초기화 동시에
int[] score2 = {50,120,43,301,30}; //new int[] 생략 가능!
int[] score3;
score3 = {50,120,43,301,30}; // >Error : new int[] 생략 불가
score3 = new int[]{50,120,43,301,30}; // OK
int[] score4 = new int [5];
score4[0] = 50;
score4[1] = 120;
...
자바 가상 머신(JVM)이 모든 배열의 길이를 별도로 관리
배열은 변경 불가능한 개체이므로 .length
값은 상수이다.
배열의 index가 유효한 범위를 벗어났을 때 발생하는 에러
선언 방법 | 선언 예 |
---|---|
타입[ ][ ] 변수이름; | int[ ][ ] score; |
타입 변수이름[ ][ ]; | int socre[ ][ ]; |
타입[ ] 변수이름[ ]; | int[ ] socre[ ]; |
int[][] score = new int[4][3] // 4행 3열의 2차원 배열 선언, 생성
// 4행 3열의 2차원 배열을 생성한다.
: 괄호{} 사용해 행별로 구분
int[][] arr = new int[][]{{1,2,3} , {4,5,6}}; // OK
int[][] arr = {{1,2,3} , {4,5,6}}; // OK
: array[row][column]