배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것입니다.
배열은 한번 생성되면 컴파일 후 실행되는 동안은 그 길이(크기)를 바꿀 수 없다.
초기화할 때, boolean 기본값 false이고 참조형 변수(String or any Object)는 기본값이 null이다.
참조형 변수는 null 또는 객체의 주소(4byte, 0x0 ~ 0xFFFFFFFF)를 값으로 가진다. null은 어떤 객체의 주소도 저장되지 않음을 뜻한다. 단, JVM이 32 bit가 아니라 64bit라면 참조형 변수의 크기는 8byte가 된다.
class Arrays2_2 {
public static void main(String[] args) {
int[] num1 = new int[]{1,2,3,4,5,6,7,8,9};
int[] num2 = {1,2,3,4,5,6,7,8,9};
for (int i = 0; i < num1.length; i++) {
System.out.println("num1[" +i + "] = " + num1[i]);
}
System.out.println();
for (int i = 0; i < num2.length; i++) {
System.out.println("num2[" +i + "] = " + num2[i]);
}
System.out.println();
// 주의 할 점!
int[] num3;
// num3 = {1,2,3,4,5,6,7,8,9}; // Error 발생합니다.
// 위처럼 나눠서 표현을 해야 한다면 아래처럼 초기화 하셔야 합니다.
int[] num4;
num4 = new int[]{1,2,3,4,5,6,7,8,9};
for (int i = 0; i < num4.length; i++) {
System.out.println("num4[" +i + "] = " + num4[i]);
}
}
}
char[] 와 메서드(기능)을 결합한 것이다.
String[] name = new String[3];
//참조형이기에 기본값이 null로 초기화된다.
테이블 형태의 데이터를 저장하기 위한 배열.
int[][] score = new int[4][3]; (int[] score[] --> 이렇게 적을 수도 있음)
// 4행 3열의 2차원 배열 score 가 생성됩니다.
int[][] arr = new int[3][];
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i+1];
}
int[][] score = new int[][]{{}, {}, {}, {}};
int[][] score = {{}, {}, {}, {}};
- Arrays.equals(strArr1, strArr2) // 1차원비교
- Arrays.deepEquals(strArr1, strArr2) // 다차원비교
- Arrays.toString(num)
- Arrays.copyOf(arr, 7); // 범위가 넘어가는 복사는 초기화값이 들어간다.
- Arrays.copyOfRange(arr, 0, 7);// 범위가 넘어가는 복사는 초기화값이 들어간다.
- Arrays.sort(arr); // 오름차순으로 정렬됩니다.