728x90
ch5-4 배열의 길이
배열의 길이
배열이름.length - 배열의 길이(int형 상수)
int[] arr = new int[5]; // 길이가 5인 int배열
int tmp = arr.length; // arr.lenght의 값은 5이고 tmp에 5가 저장된다
배열은 한번 생성하면 그 길이를 바꿀 수 없다
why?
int[5]가 4byte인 int가 5개이므로 4x5 =20 byte
여기서 int[5]를 10칸인 int[10]으로 바꾸고 싶다면 4x10=40이므로 두배의 공간이 필요하게 되고 배열은 연속해서 저장공간을 만든다. 새로 만들려면 연속된 공간 저장 확보가 어렵다면 떨어진 곳에 만들어야하는데 자바는 크기를 못 늘리게하고 필요하면 다른 곳으로 옮기게 규칙을 정해놓음
길이가 부족할 때는?
길이를 늘릴 수 없기에 새로운 걸 큰 걸 만들고 기존의 내용을 새 배열에 복사함
for (int i=0; i < score.length;i++) // 조건식 변경 불필요
System.out.println(score[i];
ch5-5 배열의 초기화
배열의 초기화
배열의 각 요소에 처음으로 값을 저장하는 것
int[[ score = new int[5]; // 길이가 5인 int형 배열 생성
score[0] = 50; // ← 배열 초기화
score[1] = 60; // ← 배열 초기화
score[2] = 70; // ← 배열 초기화
score[3] = 80; // ← 배열 초기화
score[4] = 90; // ← 배열 초기화
배열은 기본적으로 인트형으로 자동 초기화됨
반복문으로 초기화 가능
for(int i=0; i<score.length; i++)
score[i] = i * 10 + 50;
// 결과값으로
score[0] = 50;
score[1] = 60;
score[2] = 70;
score[3] = 80;
score[4] = 90;
간단 초기화 방법
- int[] score = new int[] {50, 60 , 70, 80, 90};
- int[] score = {50, 60 , 70, 80, 90}; // new int[] 생략가능
대부분 2번으로 많이 사용
주의사항
// 아래의 코드는 2)과 같은 코드이나 따로쓰면 error
int[] score;
score = {50, 60 , 70, 80, 90}; // error : new int[] 생략 불가
score = new int[]{50, 60 , 70, 80, 90}; // 가능
728x90
반응형
'JAVA > 자바의 정석 기초편(2020)' 카테고리의 다른 글
[자바의 정석 - 기초편] ch6-32~35 생성자, 기본 생성자 (0) | 2022.02.19 |
---|---|
[자바의 정석 - 기초편] ch5-8,9 배열의활용(1)~(2) (0) | 2022.02.19 |
[자바의 정석 - 기초편] ch2-15,16 정수형의 오버플로우 (0) | 2022.02.19 |
[자바의 정석 - 기초편] ch2-14 화면으로부터 입력받기 (0) | 2022.02.19 |
[자바의 정석 - 기초편] ch2-12,13 printf를 이용한 출력 (0) | 2021.12.22 |