[java] Java에서 배열을 초기화하는 방법은 무엇입니까?

다음과 같이 배열을 초기화하고 있습니다.

public class Array {

    int data[] = new int[10]; 
    /** Creates a new instance of Array */
    public Array() {
        data[10] = {10,20,30,40,50,60,71,80,90,91};
    }     
}

NetBeans는 다음 줄에서 오류를 가리 킵니다.

data[10] = {10,20,30,40,50,60,71,80,90,91};

문제를 어떻게 해결할 수 있습니까?



답변

data[10] = {10,20,30,40,50,60,71,80,90,91};

위의 내용이 올바르지 않습니다 (구문 오류). 그것은 배열을 할당한다는 것을 의미합니다.data[10] 요소 만 보유 할 수 입니다.

배열을 초기화하려면 Array Initializer를 사용해보십시오 .

int[] data = {10,20,30,40,50,60,71,80,90,91};

// or

int[] data;
data = new int[] {10,20,30,40,50,60,71,80,90,91};

두 선언의 차이점에 유의하십시오. 선언 된 변수에 새 배열을 할당 할 때는 new사용해야합니다.

당신이 구문을 수정하더라도, 액세스는 data[10](당신 만 액세스 할 수 있습니다 여전히 잘못 data[0]data[9]자바에서 배열의 인덱스이기 때문에 0 기반). 액세스 data[10]하면 ArrayIndexOutOfBoundsException이 발생 합니다.


답변

시험 data = new int[] {10,20,30,40,50,60,71,80,90,91 };


답변

크기가 10 인 배열을 만들면 10 개의 슬롯을 할당했지만 0에서 9까지 할당합니다.이 for 루프는 조금 더 잘 알 수 있습니다.

public class Array {
    int[] data = new int[10];
    /** Creates a new instance of an int Array */
    public Array() {
        for(int i = 0; i < data.length; i++) {
            data[i] = i*10;
        }
    }
}


답변

넌 할 수있어:

int[] data = {10,20,30,40,50,60,71,80,90,91};


답변

통사론

 Datatype[] variable = new Datatype[] { value1,value2.... }

 Datatype variable[]  = new Datatype[] { value1,value2.... }

예 :

int [] points = new int[]{ 1,2,3,4 };


답변

비공식 웹 사이트를 배우는 대신 Oracle 웹 사이트에서 배우십시오

링크는 다음과 같습니다 : 여기를 클릭하십시오

* 당신은 전체 설명과 함께 초기화뿐만 아니라 선언을 찾을 수 있습니다 *

int n; // size of array here 10
int[] a = new int[n];
for (int i = 0; i < a.length; i++)
{
    a[i] = Integer.parseInt(s.nextLine()); // using Scanner class
}

입력 : 10 // 배열 크기 10 20 30 40 50 60 71 80 90 91

데이터 표시 :

for (int i = 0; i < a.length; i++)
{
    System.out.println(a[i] + " ");
}

출력 :
10 20 30 40 50 60 71 80 90 91


답변

그런 배열은 초기화 할 수 없습니다. 다른 사람들이 제안한 것 외에도 다음을 수행 할 수 있습니다.

data[0] = 10;
data[1] = 20;
...
data[9] = 91;