반응형
배열이름.length - 배열의 길이(int형 상수)
int[] arr = new int[5]; // 길이가 5인 int배열
int tmp = arr.length; // arr.length의 값은 5이고 tmp에 5가 저장된다.
System.out.println(tmp);
"배열은 한번 생성하면 실행하는 동안 그 길이를 바꿀 수 없다."
왜? 배열이면 쭉 이어져야 하는데 메모리칸의 공간이 비어있는지 모르기 때문에
부족하면? 공간의 내용을 복사해서 더 늘린다. (이 의문들은 차차 알아갈 터이니 일단은 넘어가자)
// index범위 : 0~9
int[] arr = new int[10]; // 길이가 5인 int배열 arr을 생성
System.out.println("arr.length="+arr.length);
for (int i=0;i<arr.length; i++) { // index범위를 벗어나서 에러(위 int값과 동일하지 않을 시)
System.out.println("arr["+i+"]="+arr[i]);
}
}
}
배열의 초기화
배열의 각 요소에 처음으로 값을 저장하는 것
1. 기존값 지정
int[] score = new int[5];
score[0] = 50; // 길이가 5인 int형 배열을 생성한다.
score[1] = 60; // 각 요소에 직접 값을 저장한다.
score[2] = 70;
score[3] = 80;
score[4] = 90;
2. 위와 동일한 for문 지정
int[] score = new int[5];
for (int i = 0; i < score.length; i++) {
score[i] = i * 10 + 50;
System.out.println("score[i]의 결과값은"+score[i]+"입니다");
// 50,60,70,80,90
System.out.println("i의 결과값은"+i+"입니다");
// 0,1,2,3,4
}
3. 이렇게 바꾸면 쉽다
int[] score = new int[] {50,60,70,80,90};
int[] score = {50,60,70,80,90}; // new int[]를 생략할 수 있음 - 99% 사용
int[] score;
score = {50,60,70,80,90}; // 에러. new int[]를 생략할 수 없음
score = new int[] {50,60,70,80,90}; // OK
반응형
'java↗' 카테고리의 다른 글
java↗6-3. 배열의 활용 (0) | 2024.03.19 |
---|---|
java↗6-2. 배열의 출력 (0) | 2024.03.19 |
java↗6. 배열 (0) | 2024.03.19 |
java↗5-6. while문 (1) | 2024.03.16 |
java↗5-5. 중첩 for문 (0) | 2024.03.16 |