programing

Java에서 어레이를 초기화하는 방법

firstcheck 2022. 8. 1. 21:25
반응형

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]Java 어레이의 인덱스는 0 베이스이기 때문입니다).액세스data[10]ArrayIndexOutOfBoundsException을 슬로우합니다.

해라

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

크기가 10인 배열을 만들면 슬롯이 10개 할당되지만 0 ~9가 할당됩니다.이 for loop을 사용하면 더 잘 알 수 있습니다.

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 웹 사이트에서 학습합니다.

링크는 다음과 같습니다.여기를 클릭해 주세요.

* Initialization(초기화) 및 Declaration(선언)을 찾을 수 있습니다.*

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;

생성자에서 배열을 초기화하려면 다음과 같은 배열 이니셜라이저를 사용할 수 없습니다.

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

로 변경해 주세요.

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

크기를 지정할 필요가 없습니다.data[10] = new int[] { 10,...,91}속성/필드를 선언하기만 하면 됩니다.int[] data;위와 같이 초기화합니다.코드 수정 버전은 다음과 같습니다.

public class Array {

    int[] data;

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

}

보시는 바와 같이 괄호는 비어 있습니다.초기화 및 크기는 각 괄호 사이의 요소 수에 따라 지정되기 때문에 각 괄호 사이의 크기를 구분할 필요가 없습니다.

배열의 10번째 요소를 배열 시행으로 설정하려고 합니다.

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

FTFY

이 방법이 효과적일 수 있습니다.

public class Array {

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

언급URL : https://stackoverflow.com/questions/1938101/how-to-initialize-an-array-in-java

반응형