지우의 우당탕탕 개발일지
Java 배열(2) : 배열의 길이, 배열의 초기화, 배열의 출력 본문
int[] score;
score={50,60,70,80,90}; //에러. new int[]를 생략할 수 없음
score=new int[]{50,60,70,80,90}; //OK
1. 배열의 길이
- 배열이름.length : 배열의 길이 (int형 상수)
int arr=new int[5]; //길이가 5인 int배열
int tmp=arr.length; //arr.length의 값은 5이고 tmp에 5가 저장된다.
- 배열은 한번 생성하면 (실행동안) 그 길이를 바꿀 수 없다
int[] score=new int[6];
for(int i=0;i<6;i++){
System.out.println(score[i]);
}
int[] score=new int[5]; //배열의 길이를 6에서 5로 변경
for(int i=0;i<score.length;i++){ //조건식을 변경하지 않아도 됨
System.out.println(score[i]);
}
<예제>
public class Ex5_1_tmp {
public static void main(String[] args){
int[] arr=new int[10];
System.out.println("arr.length="+arr.length);
for(int i=0;i<10;i++){ //for(int i=0;i<arr.length;i++){
System.out.println("arr["+i+"]="+arr[i]);
}
}
}
2. 배열의 초기화
- 배열의 각 요소에 처음으로 값을 저장하는 것
- 자동초기화 int 0
(1) 각 요소에 직접 값 저장
int[] score=new int[5]; //길이가 5인 int형 배열을 생성한다.
score[0]=50; //각 요소에 직접 값을 저장한다.
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;
(3) 생성과 동시에 초기화
int[] score=new int[]{50,60,70,80,90};
int[] score={50,60,70,80,90}; //new int[]를 생략할 수 있음 <-- 99% 이걸로 쓰임
(4) 나눠서
- 에러 (안됨)
int[] score;
score={50,60,70,80,90}; //에러. new int[]를 생략할 수 없음
- 성공 (가능)
int[] score;
score=new int[]{50,60,70,80,90};
나눠서 할 경우에는 'new int[ ]' 를 생략할 수 없다.
3. 배열의 출력
1. 배열을 출력하면 배열의 가리키는 참조변수 의 값을 출력한다.
int[] iArr={100,95,80,70,60};
//배열을 가리키는 참조변수 iArr의 값을 출력한다.
System.out.println(iArr); //[I@14318bb 와 같은 형식의 문자열이 출력된다.
2. iArr[i] 출력하기
for(int i=0;i<iArr.length;i++){ //배열의 요소를 순서대로 하나씩 출력
System.out.println(iArr[i]);
}
3. 배열 iArr 의 모든 요소를 출력한다. [100, 95, 80, 70, 60] 이 출력된다.
System.out.println(Arrays.toString(iArr));
[코드 1] 배열 출력하기
public class Ex5 {
public static void main(String[] args){
int[] iArr={100,95,80,70,60};
System.out.println(iArr);
}
}
<출력>
[코드 2] 각 배열의 인덱스 출력하기 (for문 이용)
public class Ex5 {
public static void main(String[] args){
int[] iArr={100,95,80,70,60};
for(int i=0;i<iArr.length;i++){
System.out.println(iArr[i]);
}
}
}
[코드 3] for문과 Arrays.toString 으로 출력하기
import java.util.Arrays;
public class Ex5 {
public static void main(String[] args){
int[] iArr={100,95,80,70,60};
for(int i=0;i<iArr.length;i++){
System.out.println(iArr[i]);
}
System.out.println(Arrays.toString(iArr));
}
}
import java.util.Arrays;
public class Ex5 {
public static void main(String[] args){
int[] iArr1=new int[10];
int[] iArr2=new int[10];
//int[] iArr3=new int[]{100,95,80,70,60};
int[] iArr3={100,95,80,70,60};
char[] chArr={'a','b','c','d'};
for(int i=0;i<iArr1.length;i++){
iArr1[i]=i+1; //1 ~ 10 의 숫자를 순서대로 배열에 넣는다.
}
for(int i=0;i<iArr2.length;i++){
iArr2[i]=(int)(Math.random()*10)+1; //1~10의 값을 배열에 저장
}
//배열에 저장된 값들을 출력한다.
for(int i=0;i<iArr1.length;i++){
System.out.print(iArr1[i]+",");
}
System.out.println();
System.out.println(Arrays.toString(iArr2));
System.out.println(Arrays.toString(iArr3));
System.out.println(Arrays.toString(chArr));
System.out.println(iArr3);
System.out.println(chArr);
}
}
'언어 > Java' 카테고리의 다른 글
Java 배열(5) 2차원 배열 (1) | 2024.09.14 |
---|---|
Java 배열(4) String 배열 : String 배열의 선언과 생성 (0) | 2024.09.11 |
Java 배열(3) 배열의 활용 (예제들) (0) | 2024.09.11 |
Java 배열(1) : 배열이란, 배열의 생성과 선언, 인덱스 (0) | 2024.09.11 |