etc./StackOverFlow

Java에서 배열을 어떻게 선언하고 초기화합니까?

청렴결백한 만능 재주꾼 2021. 11. 29. 22:34
반응형

질문자 :bestattendance


Java에서 배열을 어떻게 선언하고 초기화합니까?



배열 선언 또는 배열 리터럴을 사용할 수 있습니다(단, 변수를 선언하고 즉시 영향을 미칠 때만 배열 리터럴을 사용하여 배열을 다시 할당할 수 없음).

기본 유형의 경우:

 int[] myIntArray = new int[3]; int[] myIntArray = {1, 2, 3}; int[] myIntArray = new int[]{1, 2, 3}; // Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html int [] myIntArray = IntStream.range(0, 100).toArray(); // From 0 to 99 int [] myIntArray = IntStream.rangeClosed(0, 100).toArray(); // From 0 to 100 int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).toArray(); // The order is preserved. int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).sorted().toArray(); // Sort

예를 들어 String 과 같은 클래스의 경우 동일합니다.

 String[] myStringArray = new String[3]; String[] myStringArray = {"a", "b", "c"}; String[] myStringArray = new String[]{"a", "b", "c"};

세 번째 초기화 방법은 배열을 먼저 선언한 다음 초기화하거나, 배열을 함수 인수로 전달하거나, 배열을 반환할 때 유용합니다. 명시적 유형이 필요합니다.

 String[] myStringArray; myStringArray = new String[]{"a", "b", "c"};

Community Wiki

배열에는 두 가지 유형이 있습니다.

1차원 배열

기본값 구문:

 int[] num = new int[5];

또는 (덜 선호)

 int num[] = new int[5];

값이 지정된 구문(변수/필드 초기화):

 int[] num = {1,2,3,4,5};

또는 (덜 선호)

 int num[] = {1, 2, 3, 4, 5};

참고: 편의상 int[] num은 여기서 배열에 대해 이야기하고 있음을 분명히 알려 주기 때문에 선호됩니다. 그렇지 않으면 차이가 없습니다. 별말씀을 요.

다차원 배열

선언

 int[][] num = new int[5][2];

또는

 int num[][] = new int[5][2];

또는

 int[] num[] = new int[5][2];

초기화

 num[0][0]=1; num[0][1]=2; num[1][0]=1; num[1][1]=2; num[2][0]=1; num[2][1]=2; num[3][0]=1; num[3][1]=2; num[4][0]=1; num[4][1]=2;

또는

 int[][] num={ {1,2}, {1,2}, {1,2}, {1,2}, {1,2} };

비정형 배열(또는 직사각형이 아닌 배열)

 int[][] num = new int[5][]; num[0] = new int[1]; num[1] = new int[5]; num[2] = new int[2]; num[3] = new int[3];

그래서 여기에서 열을 명시적으로 정의하고 있습니다.
또 다른 방법:

 int[][] num={ {1}, {1,2}, {1,2,3,4,5}, {1,2}, {1,2,3} };

액세스:

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

또는:

 for (int[] a : num) { for (int i : a) { System.out.println(i); } }

비정형 배열은 다차원 배열입니다.
설명은 공식 Java 자습서 에서 다차원 배열 세부 정보를 참조하십시오.


Isabella Engineer

Type[] variableName = new Type[capacity]; Type[] variableName = {comma-delimited values}; Type variableName[] = new Type[capacity]; Type variableName[] = {comma-delimited values};

도 유효하지만 변수의 유형이 실제로 배열임을 확인하는 것이 더 쉽기 때문에 유형 뒤에 대괄호를 사용하는 것이 좋습니다.


Nate

Java에서 배열을 선언하는 방법에는 여러 가지가 있습니다.

 float floatArray[]; // Initialize later int[] integerArray = new int[10]; String[] array = new String[] {"a", "b"};

Sun 자습서 사이트 및 JavaDoc 에서 자세한 정보를 찾을 수 있습니다.


Anirudh

각 부분을 이해하면 도움이 됩니다.

 Type[] name = new Type[5];

Type[]이름이라는 변수 의 유형 입니다("이름"은 식별자 라고 함). 리터럴 "Type"은 기본 유형이고 대괄호는 이것이 해당 기본의 배열 유형임을 의미합니다. 배열 유형은 차례로 고유한 유형이므로 Type[][] (Type[]의 배열 유형)과 같은 다차원 배열을 만들 수 있습니다. 키워드 new 는 새 배열에 메모리를 할당하라고 말합니다. 대괄호 사이의 숫자는 새 어레이의 크기와 할당할 메모리 양을 나타냅니다. 예를 들어 Java가 기본 유형 Type 이 32바이트를 사용한다는 것을 알고 있고 크기가 5인 배열을 원하는 경우 내부적으로 32 * 5 = 160바이트를 할당해야 합니다.

다음과 같이 이미 있는 값으로 배열을 만들 수도 있습니다.

 int[] name = {1, 2, 3, 4, 5};

이는 빈 공간을 생성할 뿐만 아니라 해당 값으로 채웁니다. Java는 프리미티브가 정수이고 그 중 5개가 있음을 알 수 있으므로 배열의 크기를 암시적으로 결정할 수 있습니다.


Chet

다음은 배열의 선언을 보여주지만 배열이 초기화되지 않았습니다.

 int[] myIntArray = new int[3];

다음은 선언과 배열의 초기화를 보여줍니다.

 int[] myIntArray = {1,2,3};

이제 다음은 선언과 배열의 초기화도 보여줍니다.

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

그러나 이 세 번째 항목은 참조 변수 "myIntArray"가 가리키는 익명 배열 객체 생성의 속성을 보여주므로 "new int[]{1,2,3};"만 쓰면 됩니다. 이것이 익명의 배열 객체가 생성되는 방법입니다.

우리가 그냥 쓴다면:

 int[] myIntArray;

이것은 배열의 선언이 아니지만 다음 명령문은 위의 선언을 완료합니다.

 myIntArray=new int[3];

Amit Bhandari

또는,

 // Either method works String arrayName[] = new String[10]; String[] arrayName = new String[10];

arrayName 이라는 배열을 선언합니다(사용할 요소가 0에서 9까지 있음).


Thomas Owens

또한 더 동적인 것을 원할 경우 List 인터페이스가 있습니다. 이것은 잘 수행되지 않지만 더 유연합니다.

 List<String> listOfString = new ArrayList<String>(); listOfString.add("foo"); listOfString.add("bar"); String value = listOfString.get(0); assertEquals( value, "foo" );

Dave

배열을 만드는 두 가지 주요 방법이 있습니다.

이것은 빈 배열의 경우:

 int[] array = new int[n]; // "n" being the number of spaces to allocate in the array

초기화된 배열의 경우 다음과 같습니다.

 int[] array = {1,2,3,4 ...};

다음과 같이 다차원 배열을 만들 수도 있습니다.

 int[][] array2d = new int[x][y]; // "x" and "y" specify the dimensions int[][] array2d = { {1,2,3 ...}, {4,5,6 ...} ...};

codecubed

예를 들어 기본 유형 int 를 사용하십시오. int 배열을 선언하는 방법에는 여러 가지가 있습니다.

 int[] i = new int[capacity]; int[] i = new int[] {value1, value2, value3, etc}; int[] i = {value1, value2, value3, etc};

int[] i 대신 int i[] 를 사용할 수 있습니다.

리플렉션을 사용하면 (Type[]) Array.newInstance(Type.class, capacity);

메서드 매개변수에서 ... variable arguments 나타냅니다. 기본적으로 매개변수의 수는 상관없습니다. 코드로 설명하는 것이 더 쉽습니다.

 public static void varargs(int fixed1, String fixed2, int... varargs) {...} ... varargs(0, "", 100); // fixed1 = 0, fixed2 = "", varargs = {100} varargs(0, "", 100, 200); // fixed1 = 0, fixed2 = "", varargs = {100, 200};

메서드 내에서 varargs int[] 로 처리됩니다. Type... 은 메서드 매개변수에서만 사용할 수 있으므로 int... i = new int[] {} 는 컴파일되지 않습니다.

int[] 를 메서드(또는 다른 Type[] )에 전달할 때 세 번째 방법을 사용할 수 없습니다. int[] i = *{a, b, c, d, etc}* 에서 컴파일러는 {...}int[] 의미한다고 가정합니다. 그러나 그것은 변수를 선언하기 때문입니다. 배열을 메서드에 전달할 때 선언은 new Type[capacity] 또는 new Type[] {...} 이어야 합니다.

다차원 배열

다차원 배열은 다루기가 훨씬 더 어렵습니다. 기본적으로 2D 배열은 배열의 배열입니다. int[][] int[] 의 배열을 의미합니다. 핵심은 int[][] int[x][y] 로 선언되면 최대 인덱스는 i[x-1][y-1] 입니다. 기본적으로 직사각형 int[3][5] 는 다음과 같습니다.

 [0, 0] [1, 0] [2, 0] [0, 1] [1, 1] [2, 1] [0, 2] [1, 2] [2, 2] [0, 3] [1, 3] [2, 3] [0, 4] [1, 4] [2, 4]

hyper-neutrino

자바 9에서

다른 IntStream.iterateIntStream.takeWhile 메서드 사용:

 int[] a = IntStream.iterate(10, x -> x <= 100, x -> x + 10).toArray(); Out: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] int[] b = IntStream.iterate(0, x -> x + 1).takeWhile(x -> x < 10).toArray(); Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

자바 10에서

지역 변수 유형 추론 사용 :

 var letters = new String[]{"A", "B", "C"};

Oleksandr Pyrohov

반사를 사용하여 배열을 만들려면 다음과 같이 할 수 있습니다.

 int size = 3; int[] intArray = (int[]) Array.newInstance(int.class, size );

Muhammad Suleman

Java 8에서는 이와 같은 것을 사용할 수 있습니다.

 String[] strs = IntStream.range(0, 15) // 15 is the size .mapToObj(i -> Integer.toString(i)) .toArray(String[]::new);

Chamly Idunil

객체 참조 배열 선언:

 class Animal {} class Horse extends Animal { public static void main(String[] args) { /* * Array of Animal can hold Animal and Horse (all subtypes of Animal allowed) */ Animal[] a1 = new Animal[10]; a1[0] = new Animal(); a1[1] = new Horse(); /* * Array of Animal can hold Animal and Horse and all subtype of Horse */ Animal[] a2 = new Horse[10]; a2[0] = new Animal(); a2[1] = new Horse(); /* * Array of Horse can hold only Horse and its subtype (if any) and not allowed supertype of Horse nor other subtype of Animal. */ Horse[] h1 = new Horse[10]; h1[0] = new Animal(); // Not allowed h1[1] = new Horse(); /* * This can not be declared. */ Horse[] h2 = new Animal[10]; // Not allowed } }

2787184

배열은 항목의 순차 목록입니다.

 int item = value; int [] one_dimensional_array = { value, value, value, .., value }; int [][] two_dimensional_array = { { value, value, value, .. value }, { value, value, value, .. value }, .. .. .. .. { value, value, value, .. value } };

그것이 물건이라면 그것은 같은 개념입니다.

 Object item = new Object(); Object [] one_dimensional_array = { new Object(), new Object(), .. new Object() }; Object [][] two_dimensional_array = { { new Object(), new Object(), .. new Object() }, { new Object(), new Object(), .. new Object() }, .. .. .. { new Object(), new Object(), .. new Object() } };

객체의 경우 new Type(..) 사용하여 초기화 null StringInteger 와 같은 클래스는 다음과 같이 처리되는 특수한 경우입니다.

 String [] a = { "hello", "world" }; // is equivalent to String [] a = { new String({'h','e','l','l','o'}), new String({'w','o','r','l','d'}) }; Integer [] b = { 1234, 5678 }; // is equivalent to Integer [] b = { new Integer(1234), new Integer(5678) };

M 차원의 배열을 만들 수 있습니다.

 int [][]..[] array = // ^ M times [] brackets {{..{ // ^ M times { bracket // this is array[0][0]..[0] // ^ M times [0] }}..} // ^ M times } bracket ;

M 차원 배열을 만드는 것은 공간 측면에서 비용이 많이 든다는 점에 유의할 가치가 있습니다. N 을 사용하여 M 차원 배열을 만들 때 배열의 총 크기는 N^M 보다 큽니다. 각 배열에는 참조가 있고 M 차원에는 (M-1)- 참조의 차원 배열. 총 크기는 다음과 같습니다

 Space = N^M + N^(M-1) + N^(M-2) + .. + N^0 // ^ ^ array reference // ^ actual data

Khaled.K

Java 8 이상에 대해 선언하고 초기화합니다. 간단한 정수 배열을 만듭니다.

 int [] a1 = IntStream.range(1, 20).toArray(); System.out.println(Arrays.toString(a1)); // Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

[-50, 50] 및 double [0, 1E17] 사이의 정수에 대한 임의 배열을 만듭니다.

 int [] a2 = new Random().ints(15, -50, 50).toArray(); double [] a3 = new Random().doubles(5, 0, 1e17).toArray();

2의 거듭제곱 시퀀스:

 double [] a4 = LongStream.range(0, 7).mapToDouble(i -> Math.pow(2, i)).toArray(); System.out.println(Arrays.toString(a4)); // Output: [1.0, 2.0, 4.0, 8.0, 16.0, 32.0, 64.0]

String[]의 경우 생성자를 지정해야 합니다.

 String [] a5 = Stream.generate(()->"I will not squeak chalk").limit(5).toArray(String[]::new); System.out.println(Arrays.toString(a5));

다차원 배열:

 String [][] a6 = List.of(new String[]{"a", "b", "c"} , new String[]{"d", "e", "f", "g"}) .toArray(new String[0][]); System.out.println(Arrays.deepToString(a6)); // Output: [[a, b, c], [d, e, f, g]]

Kirill Podlivaev

클래스 객체의 배열을 생성하기 위해 java.util.ArrayList 사용할 수 있습니다. 배열을 정의하려면:

 public ArrayList<ClassName> arrayName; arrayName = new ArrayList<ClassName>();

배열에 값 할당:

 arrayName.add(new ClassName(class parameters go here);

어레이에서 읽기:

 ClassName variableName = arrayName.get(index);

메모:

variableName 조작 즉 어레이에 대한 레퍼런스이다 variableName 조작 할 arrayName

for 루프:

 //repeats for every value in the array for (ClassName variableName : arrayName){ } //Note that using this for loop prevents you from editing arrayName

arrayName 을 편집할 수 있는 for 루프(기존의 for 루프):

 for (int i = 0; i < arrayName.size(); i++){ //manipulate array here }

Samuel Newport

"배열"이 java.util.Arrays 사용을 의미했다면 다음과 같이 할 수 있습니다.

 List<String> number = Arrays.asList("1", "2", "3"); Out: ["1", "2", "3"]

이것은 매우 간단 하고 간단합니다.


Sylhare

ArrayList를 선언하고 초기화하는 또 다른 방법:

 private List<String> list = new ArrayList<String>(){{ add("e1"); add("e2"); }};

Clement.Xu

여기에 많은 답변이 있습니다. 배열을 생성하는 몇 가지 까다로운 방법을 추가하고 있습니다( 시험 의 관점에서 이것을 아는 것이 좋습니다)

  1. 배열 선언 및 정의

     int intArray[] = new int[3];

    그러면 길이가 3인 배열이 생성됩니다. 기본 유형인 int를 포함하므로 모든 값은 기본적으로 0으로 설정됩니다. 예를 들어,

     intArray[2]; // Will return 0
  2. 변수 이름 앞에 상자 대괄호 [] 사용

     int[] intArray = new int[3]; intArray[0] = 1; // Array content is now {1, 0, 0}
  3. 초기화 및 어레이에 데이터 제공

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

    이번에는 상자 브래킷에 크기를 언급할 필요가 없습니다. 이것의 간단한 변형조차도 다음과 같습니다.

     int[] intArray = {1, 2, 3, 4};
  4. 길이가 0인 배열

     int[] intArray = new int[0]; int length = intArray.length; // Will return length 0

    다차원 배열과 유사

     int intArray[][] = new int[2][3]; // This will create an array of length 2 and //each element contains another array of length 3. // { {0,0,0},{0,0,0} } int lenght1 = intArray.length; // Will return 2 int length2 = intArray[0].length; // Will return 3

변수 앞에 상자 괄호 사용:

 int[][] intArray = new int[2][3];

끝에 하나의 상자 브래킷을 넣으면 절대적으로 좋습니다.

 int[] intArray [] = new int[2][4]; int[] intArray[][] = new int[2][3][4]

몇 가지 예

 int [] intArray [] = new int[][] {{1,2,3},{4,5,6}}; int [] intArray1 [] = new int[][] {new int[] {1,2,3}, new int [] {4,5,6}}; int [] intArray2 [] = new int[][] {new int[] {1,2,3},{4,5,6}} // All the 3 arrays assignments are valid // Array looks like {{1,2,3},{4,5,6}}

각 내부 요소의 크기가 같아야 하는 것은 아닙니다.

 int [][] intArray = new int[2][]; intArray[0] = {1,2,3}; intArray[1] = {4,5}; //array looks like {{1,2,3},{4,5}} int[][] intArray = new int[][2] ; // This won't compile. Keep this in mind.

위의 구문을 사용하는 경우 정방향으로 상자 괄호 안에 값을 지정해야 하는지 확인해야 합니다. 그렇지 않으면 컴파일되지 않습니다. 몇 가지 예:

 int [][][] intArray = new int[1][][]; int [][][] intArray = new int[1][2][]; int [][][] intArray = new int[1][2][3];

또 다른 중요한 기능은 공변량입니다.

 Number[] numArray = {1,2,3,4}; // java.lang.Number numArray[0] = new Float(1.5f); // java.lang.Float numArray[1] = new Integer(1); // java.lang.Integer // You can store a subclass object in an array that is declared // to be of the type of its superclass. // Here 'Number' is the superclass for both Float and Integer. Number num[] = new Float[5]; // This is also valid

중요: 참조된 유형의 경우 배열에 저장된 기본값은 null입니다.


Arundev

배열에는 두 가지 기본 유형이 있습니다.

정적 배열: 고정 크기 배열(크기는 시작 시 선언해야 하며 나중에 변경할 수 없음)

동적 배열: 이에 대한 크기 제한은 고려되지 않습니다. (순수 동적 배열은 Java에 존재하지 않습니다. 대신 List가 가장 권장됩니다.)

정수, 문자열, 부동 소수점 등의 정적 배열을 선언하려면 아래 선언 및 초기화 문을 사용합니다.

 int[] intArray = new int[10]; String[] intArray = new int[10]; float[] intArray = new int[10]; // Here you have 10 index starting from 0 to 9

동적 기능을 사용하려면 List...를 사용해야 합니다. List는 순수한 동적 배열 이며 처음에 크기를 선언할 필요가 없습니다. 다음은 Java에서 목록을 선언하는 적절한 방법입니다.

 ArrayList<String> myArray = new ArrayList<String>(); myArray.add("Value 1: something"); myArray.add("Value 2: something more");


Zia

지역 변수 유형 추론을 사용하면 유형을 한 번만 지정하면 됩니다.

 var values = new int[] { 1, 2, 3 };

또는

 int[] values = { 1, 2, 3 }

Konstantin Spirin

int[] x = new int[enter the size of array here];

예시:

 int[] x = new int[10];

또는

 int[] x = {enter the elements of array here];

예시:

 int[] x = {10, 65, 40, 5, 48, 31};

Virangaa

배열 선언: int[] arr;

배열 초기화: int[] arr = new int[10]; 10은 배열에 허용되는 요소의 수를 나타냅니다.

다차원 배열 선언: int[][] arr;

다차원 배열 초기화: int[][] arr = new int[10][17]; 10 곱하기 17은 170이므로 10개의 행과 17개의 열과 170개의 요소입니다.

배열을 초기화한다는 것은 배열의 크기를 지정하는 것을 의미합니다.


kundus

package com.examplehub.basics; import java.util.Arrays; public class Array { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; /* * numbers[0] = 1 * numbers[1] = 2 * numbers[2] = 3 * numbers[3] = 4 * numbers[4] = 5 */ System.out.println("numbers[0] = " + numbers[0]); System.out.println("numbers[1] = " + numbers[1]); System.out.println("numbers[2] = " + numbers[2]); System.out.println("numbers[3] = " + numbers[3]); System.out.println("numbers[4] = " + numbers[4]); /* * Array index is out of bounds */ //System.out.println(numbers[-1]); //System.out.println(numbers[5]); /* * numbers[0] = 1 * numbers[1] = 2 * numbers[2] = 3 * numbers[3] = 4 * numbers[4] = 5 */ for (int i = 0; i < 5; i++) { System.out.println("numbers[" + i + "] = " + numbers[i]); } /* * Length of numbers = 5 */ System.out.println("length of numbers = " + numbers.length); /* * numbers[0] = 1 * numbers[1] = 2 * numbers[2] = 3 * numbers[3] = 4 * numbers[4] = 5 */ for (int i = 0; i < numbers.length; i++) { System.out.println("numbers[" + i + "] = " + numbers[i]); } /* * numbers[4] = 5 * numbers[3] = 4 * numbers[2] = 3 * numbers[1] = 2 * numbers[0] = 1 */ for (int i = numbers.length - 1; i >= 0; i--) { System.out.println("numbers[" + i + "] = " + numbers[i]); } /* * 12345 */ for (int number : numbers) { System.out.print(number); } System.out.println(); /* * [1, 2, 3, 4, 5] */ System.out.println(Arrays.toString(numbers)); String[] company = {"Google", "Facebook", "Amazon", "Microsoft"}; /* * company[0] = Google * company[1] = Facebook * company[2] = Amazon * company[3] = Microsoft */ for (int i = 0; i < company.length; i++) { System.out.println("company[" + i + "] = " + company[i]); } /* * Google * Facebook * Amazon * Microsoft */ for (String c : company) { System.out.println(c); } /* * [Google, Facebook, Amazon, Microsoft] */ System.out.println(Arrays.toString(company)); int[][] twoDimensionalNumbers = { {1, 2, 3}, {4, 5, 6, 7}, {8, 9}, {10, 11, 12, 13, 14, 15} }; /* * total rows = 4 */ System.out.println("total rows = " + twoDimensionalNumbers.length); /* * row 0 length = 3 * row 1 length = 4 * row 2 length = 2 * row 3 length = 6 */ for (int i = 0; i < twoDimensionalNumbers.length; i++) { System.out.println("row " + i + " length = " + twoDimensionalNumbers[i].length); } /* * row 0 = 1 2 3 * row 1 = 4 5 6 7 * row 2 = 8 9 * row 3 = 10 11 12 13 14 15 */ for (int i = 0; i < twoDimensionalNumbers.length; i++) { System.out.print("row " + i + " = "); for (int j = 0; j < twoDimensionalNumbers[i].length; j++) { System.out.print(twoDimensionalNumbers[i][j] + " "); } System.out.println(); } /* * row 0 = [1, 2, 3] * row 1 = [4, 5, 6, 7] * row 2 = [8, 9] * row 3 = [10, 11, 12, 13, 14, 15] */ for (int i = 0; i < twoDimensionalNumbers.length; i++) { System.out.println("row " + i + " = " + Arrays.toString(twoDimensionalNumbers[i])); } /* * 1 2 3 * 4 5 6 7 * 8 9 * 10 11 12 13 14 15 */ for (int[] ints : twoDimensionalNumbers) { for (int num : ints) { System.out.print(num + " "); } System.out.println(); } /* * [1, 2, 3] * [4, 5, 6, 7] * [8, 9] * [10, 11, 12, 13, 14, 15] */ for (int[] ints : twoDimensionalNumbers) { System.out.println(Arrays.toString(ints)); } int length = 5; int[] array = new int[length]; for (int i = 0; i < 5; i++) { array[i] = i + 1; } /* * [1, 2, 3, 4, 5] */ System.out.println(Arrays.toString(array)); } }

examplehub/java의 소스


shellhub

영화 클래스가 있는 또 다른 전체 예:

 public class A { public static void main(String[] args) { class Movie { String movieName; String genre; String movieType; String year; String ageRating; String rating; public Movie(String [] str) { this.movieName = str[0]; this.genre = str[1]; this.movieType = str[2]; this.year = str[3]; this.ageRating = str[4]; this.rating = str[5]; } } String [] movieDetailArr = {"Inception", "Thriller", "MovieType", "2010", "13+", "10/10"}; Movie mv = new Movie(movieDetailArr); System.out.println("Movie Name: "+ mv.movieName); System.out.println("Movie genre: "+ mv.genre); System.out.println("Movie type: "+ mv.movieType); System.out.println("Movie year: "+ mv.year); System.out.println("Movie age : "+ mv.ageRating); System.out.println("Movie rating: "+ mv.rating); } }

Dupinder Singh

배열은 배열의 정의에 따라 클래스의 객체뿐만 아니라 기본 데이터 유형을 포함할 수 있습니다. 원시 데이터 유형의 경우 실제 값은 인접한 메모리 위치에 저장됩니다. 클래스의 객체의 경우 실제 객체는 힙 세그먼트에 저장됩니다.


1차원 배열:

1차원 배열 선언의 일반적인 형식은 다음과 같습니다.

 type var-name[]; OR type[] var-name;

Java에서 배열 인스턴스화

 var-name = new type [size];

예를 들어,

 int intArray[]; // Declaring an array intArray = new int[20]; // Allocating memory to the array // The below line is equal to line1 + line2 int[] intArray = new int[20]; // Combining both statements in one int[] intArray = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // Accessing the elements of the specified array for (int i = 0; i < intArray.length; i++) System.out.println("Element at index " + i + ": "+ intArray[i]);

참조: Java의 배열


Zgpeace

배열을 선언하고 초기화하는 것은 매우 쉽습니다. 예를 들어, 배열에 1, 2, 3, 4, 5인 5개의 정수 요소를 저장하려고 합니다. 다음과 같은 방법으로 할 수 있습니다.

NS)

 int[] a = new int[5];

또는

NS)

 int[] a = {1, 2, 3, 4, 5};

따라서 기본 패턴은 a) 메서드에 의한 초기화 및 선언을 위한 것입니다.

 datatype[] arrayname = new datatype[requiredarraysize];

datatype 은 소문자여야 합니다.

따라서 기본 패턴은 메서드 a에 의한 초기화 및 선언을 위한 것입니다.

문자열 배열인 경우:

 String[] a = {"as", "asd", "ssd"};

문자 배열인 경우:

 char[] a = {'a', 's', 'w'};

float double의 경우 배열 형식은 정수와 동일합니다.

예를 들어:

 double[] a = {1.2, 1.3, 12.3};

그러나 "메서드 a"로 배열을 선언하고 초기화할 때 값을 수동으로 또는 루프 등으로 입력해야 합니다.

그러나 "방법 b"로 수행하면 값을 수동으로 입력할 필요가 없습니다.


Syed Salman Hassan

출처 : http:www.stackoverflow.com/questions/1200621/how-do-i-declare-and-initialize-an-array-in-java

반응형