배열의 각 요소에 아래 첨자가 하나만 있으면 배열은 1차원 배열 입니다. 1차원 배열은 가장 간단한 배열 유형입니다.
배열을 초기화하는 방법에는 동적 초기화와 정적 초기화라는 두 가지 방법이 있습니다.
정적 초기화는 배열을 선언할 때 배열에 값을 할당하고 나중에 직접 호출하는 것을 의미합니다.
정적 초기화 방법은 다음과 같습니다.
배열 유형 [] 이름 = 새 유형 {요소};
예를 들어:
int[]Array=newint[]{1,2,3};
먼저 선언한 다음 초기화할 수도 있습니다.
int[]Array;Array=newint[]{1,2,3};
동적 초기화란 먼저 선언한 후 후속 명령문에서 값을 하나씩 할당하는 것을 의미합니다.
동적 초기화 방법은 다음과 같습니다.
int[]Array=newint[배열 길이];Array[0]=1;Array[1]=2;Array[2]=3;Array[3]=4;…배열[배열 길이-1]=n ;
초기화된 배열의 길이가 결정됩니다.
정적 초기화 int [] Array = new int[]{1,2,3}; 중괄호 안에 요소가 3개 있으므로 Array의 길이는 3입니다.
동적 초기화 int [] Array = new int [배열 길이]; [배열 길이]가 3이면 배열에는 3개의 요소가 있고 배열 길이는 3입니다.
배열을 호출하기 위해 첨자 (subscripts)를 사용할 수 있습니다.
int[]Array;Array=newint[]{1,2,3};System.out.println(Array[1]);
이때 출력은 배열의 두 번째 요소인 출력 2입니다.
이때 어떤 학생들은 Array[1]인데 왜 두 번째 요소를 호출하는 걸까요? 이는 배열의 첨자가 0부터 시작하기 때문입니다. 즉, Array[0]은 배열의 첫 번째 요소에 해당하고 Array[1]은 배열의 두 번째 요소에 해당하는 식입니다.
동적 초기화에서 두 번째 괄호 안의 숫자는 배열의 길이입니다. 예를 들면 다음과 같습니다.
int[]배열=newint[3];
이는 Array의 배열 길이가 3이라는 의미입니다. 세 번째 항목을 호출하려면 아래 첨자가 2여야 합니다.
System.out.println(int[2]);
참고 : 호출된 배열 요소는 배열 길이를 초과할 수 없습니다.
예를 들어:
int[]Array=newint[3];System.out.println(int[3]);
이때 출력 Array 배열의 네 번째 요소를 의미하는데, Array의 배열 길이가 3, 즉 요소가 3개뿐이므로 오류가 보고됩니다.
루프 문을 사용하여 배열을 순회할 수 있습니다. 예를 들면 다음과 같습니다.
for(inti=0;i<Array.length;i++){System.out.println(Array[i]);}
배열 첨자는 0부터 시작하므로 i는 0부터 시작한다는 점에 유의해야 합니다. 배열의 첫 번째 요소의 첨자는 0입니다. 첫 번째 요소가 포함되어야 하므로 루프는 0부터 시작됩니다.
.length 메소드는 배열의 길이입니다. i<Array.length는 이 조건에서 i의 값이 Array의 배열 길이보다 작음을 의미합니다.
예를 들어:
importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){int[]arr1=newint[]{1,3,5,7,9,11};//정적 초기화 System.out.println(arr1[ 1]);//arr의 두 번째 요소 출력: 3int[]arr2=newint[5];//동적 초기화 Scannerscan=newScanner(System.in);System.out.println(입력하세요:);for( inti =0;i<arr2.length;i++){//arr2를 하나씩 할당 arr2[i]=scan.nextInt();System.out.println(arr2[i]);//arr2를 하나씩 출력} } }
직접 시도해 볼 수 있습니다!