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;
생성자에서 배열을 초기화하려면 해당 배열 초기화 프로그램을 사용할 수 없습니다.
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
'Programming' 카테고리의 다른 글
JavaScript 문자열 개행 문자? (0) | 2020.02.21 |
---|---|
github의 기존 이슈에 새로운 풀 요청을 어떻게 첨부합니까? (0) | 2020.02.21 |
git을 사용하여 특정 파일의 변경 사항을 확인하십시오 (0) | 2020.02.21 |
“throw”와“throw ex”에는 차이가 있습니까? (0) | 2020.02.21 |
커밋하기 전에 git에서 파일 diff를 보는 방법 (0) | 2020.02.21 |