Java에서 배열을 어떻게 선언하고 초기화합니까?
질문자 :bestattendance
배열 선언 또는 배열 리터럴을 사용할 수 있습니다(단, 변수를 선언하고 즉시 영향을 미칠 때만 배열 리터럴을 사용하여 배열을 다시 할당할 수 없음).
기본 유형의 경우:
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"};
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.iterate
및 IntStream.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
String
및 Integer
와 같은 클래스는 다음과 같이 처리되는 특수한 경우입니다.
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
여기에 많은 답변이 있습니다. 배열을 생성하는 몇 가지 까다로운 방법을 추가하고 있습니다( 시험 의 관점에서 이것을 아는 것이 좋습니다)
배열 선언 및 정의
int intArray[] = new int[3];
그러면 길이가 3인 배열이 생성됩니다. 기본 유형인 int를 포함하므로 모든 값은 기본적으로 0으로 설정됩니다. 예를 들어,
intArray[2]; // Will return 0
변수 이름 앞에 상자 대괄호 [] 사용
int[] intArray = new int[3]; intArray[0] = 1; // Array content is now {1, 0, 0}
초기화 및 어레이에 데이터 제공
int[] intArray = new int[]{1, 2, 3};
이번에는 상자 브래킷에 크기를 언급할 필요가 없습니다. 이것의 간단한 변형조차도 다음과 같습니다.
int[] intArray = {1, 2, 3, 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)); } }
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
'etc. > StackOverFlow' 카테고리의 다른 글
Spring에서 @Component, @Repository & @Service 주석의 차이점은 무엇입니까? (2) | 2021.11.29 |
---|---|
JavaScript 자르기/슬라이스/문자열의 마지막 문자 자르기 (0) | 2021.11.29 |
Bash의 구분 기호에서 문자열을 어떻게 분할합니까? (0) | 2021.11.29 |
npm package.json 파일의 종속성, devDependencies 및 peerDependencies의 차이점은 무엇입니까? (0) | 2021.11.26 |
UILabel 내에서 텍스트를 상단에 수직으로 정렬 (0) | 2021.11.26 |