같은 자료형의 변수를 하나의 묶음으로 처리하는 자료구조로 인덱스 번호가 0부터 시작한다
//배열 선언
int[] num1;
int num2[];
배열은 참조 변수로 Heap 영역에 할당되며 배열 공간의 주소를 저장하여 주소를 이용해 인덱스를 참조하는 방식으로 값을 처리한다.
img src="파일경로"width="숫자%",height="숫자%"
%는 비율 px은 단위
new가 붙은 건 모두 heap 영역에 저장
버블 알고리즘은 현재 배열을 바로 앞 배열과 비교하면서 이동한다
for (int i = 0; i < (arr.length - 1); i++) {
for (int j = 0; j < (arr.length - 1) - i; j++) {
if(arr[j] < arr[j+1]) { //현재 오름차순 '>' 로 바꾸면 내림차순
//swap
int temp = arr[j];
arr[j] =arr[j+1];
arr[j+1] = temp;
}
}
}
//배열 할당
int[][] arr = new int[5][3]
int[][] arr = new int[5][]
arr[0] = new int[2];
arr[1] = new int[5];
arr[2] = new int[4];
Student[] students = new Student[30]; // heap 주소공간, stack 주소공간
for (int i=0; i<students.length; i++){
students[i] = new Student();
}
int[] arr1 = new int[4];
int[] arr2 = arr1;
for(int i= 0; i< originArr.length; i++) { //방법 1
destArr2[i] = originArr[i];
}
System.arraycopy(originArr, 0, destArr2, 0, originArr.length); //방법 2
arr2= Arrays.copyOf(originArr, originArr.length); //방법 3
arr2= arr1.clone(); //방법 4
copyArr = Arrays.copyOf(originArr, originArr.length);
public static int[] copyOf(int[] original, int newLength) {
int[] copy = new int[newLength];
//arraycopy()로 copy배열에 복사
System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength));
//copy변수가 참조하는 Heap 영역 공간에는 originArr 주소의 데이터 값이 들어가 있다. (깊은 복사)
return copy;
//여기서 copy를 리턴해주면 copyArr에는 copy의 주소값이 복사된다 (얕은 복사)
}