Java 배열 선언, 생성, 초기화
1차원 배열을 선언하는 방법:
var[]; 또는 type[] var;
배열을 선언할 때 길이(배열의 요소 수)를 지정할 수 없습니다.
Java에서는 new 키워드를 사용하여 배열 객체를 생성합니다.
배열 이름 = 새 배열 요소 유형 [배열 요소 수]
예:
TestNew.java:
프로그램 코드:
공개 클래스 TestNew { 공개 정적 void main(String args[]) { int[] s = new int[5] for(i = 0; i < 5; i++); ; } for(i = 4 ; i >= 0 ; i--) { System.out.println("" + s[i]) } } }초기화:
1. 동적 초기화: 배열 정의는 공간을 할당하고 배열에 값을 할당하는 작업과 별도로 수행됩니다.
2. 정적 초기화: 숫자를 정의하는 동안 공간을 할당하고 배열 요소에 값을 할당합니다.
3. 기본 초기화: 배열은 참조 유형이며 해당 요소는 클래스의 멤버 변수와 동일합니다. 따라서 배열이 공간을 할당한 후 각 요소도 멤버 변수의 규칙에 따라 초기화됩니다.
예:
TestD.java(동적):
프로그램 코드:
public class TestD { public static void main(String args[]) a = new int[3] = 0; a[2] = 2; 일[] ; 일 = 새 날짜[3] ; 일[0] = 새 날짜(2008,4,5) ; 일[1] = 새 날짜(2008,2,31) = 새 Date(2008,4,4); } } class Date { int 연, 월, int 일) { this.year = 연 this.month = 월; ; } }TestS.java(정적):
프로그램 코드:
public class TestS { public static void main(String args[]) { int a[] = {0,1,2} 시간 시간 [] = {new Time(19,42,42),new Time(1,23) ,54),new Time(5,3,2)} ; } } class Time { int hour,min,sec ; Time(int hour ,int min ,int sec) { this.hour = hour ; ; this.sec = 초 } }TestDefault.java(기본값):
프로그램 코드:
public class TestDefault { public static void main(String args[]) { int a [] = new int [5] ; System.out.println("" + a[3]) } ; JAVA 기본 1차원 배열 및 다차원 배열
Java 언어에서 배열은 가장 간단한 복합 데이터 유형입니다. 배열은 정렬된 데이터의 모음입니다. 배열의 각 요소는 동일한 데이터 유형을 갖습니다. 통합된 배열 이름과 아래 첨자는 배열의 요소를 고유하게 식별하는 데 사용할 수 있습니다. 배열에는 1차원 배열과 다차원 배열이 있습니다.
1. 1차원 배열의 정의
유형 배열 이름[];
유형(type)은 단순 유형 및 복합 유형을 포함하여 Java의 모든 데이터 유형이 될 수 있습니다.
예를 들어:
int intArray[]; 날짜 dateArray[];
2. 1차원 배열의 초기화
(1) 정적 초기화
int intArray[]={1,2,3,4}; String stringArray[]={"abc", "How", "you"};(2) 동적 초기화
1) 단순형 배열
int intArray[]; intArray = 새로운 int[5];
2) 복합형 배열
String stringArray[ ]; String stringArray = new String[3];/*배열의 각 요소에 대한 참조 공간(32비트)을 엽니다. */ stringArray[0]= new String("How");// 첫 번째 배열 요소를 위한 공간 만들기 stringArray[1]= new String("are");//두 번째 배열 요소를 위한 열린 공간 stringArray[2]= new String("you");// 세 번째 배열을 위한 공간 만들기 요소3. 1차원 배열 요소에 대한 참조
배열 요소는 다음과 같이 참조됩니다.
배열이름[색인]
인덱스는 정수 상수 또는 표현식일 수 있는 배열 첨자입니다. 첨자는 0부터 시작합니다. 각 배열에는 해당 길이를 지정하는 길이 속성이 있습니다. 예를 들어 intArray.length는 intArray 배열의 길이를 지정합니다.
다차원 배열
Java 언어에서는 다차원 배열을 배열의 배열로 간주합니다.
1. 2차원 배열의 정의
유형 배열 이름[ ][ ]; 유형 [ ][ ] 배열 이름;
2. 2차원 배열의 초기화
(1) 정적 초기화
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};Java 언어에서는 2차원 배열을 배열의 배열로 간주하므로 배열 공간이 연속적으로 할당되지 않으므로 2차원 배열의 각 차원의 크기가 동일할 필요는 없습니다.
(2) 동적 초기화
1) 다음 형식으로 각 차원에 대한 공간을 직접 할당합니다.
arrayName = 새로운 유형[arrayLength1][arrayLength2] int a[ ][ ] = 새로운 int[2][3];
2) 가장 높은 차원부터 시작하여 각 차원에 공간을 할당합니다.
arrayName = 새 유형[arrayLength1][ ]; arrayName[0] = 새 유형[arrayLength20]; arrayName[1] = 새 유형[arrayLength21] … arrayName[arrayLength1-1] = 새 유형[arrayLength2n];
3) 예: 2차원 단순 데이터 유형 배열의 동적 초기화는 다음과 같습니다.
int a[ ][ ] = 새로운 int[2][ ]; a[0] = 새로운 int[3] a[1] = 새로운 int[5];
2차원 복합 데이터 형식의 배열의 경우 가장 높은 차원에 대한 참조 공간을 먼저 할당한 다음 하위 차원에 대한 공간을 순차적으로 할당해야 합니다. 또한 각 배열 요소에 대해 별도로 공간을 할당해야 합니다.
예를 들어:
String s[ ][ ] = new String[2][ ]; s[0]= new String[2];//가장 높은 차원에 대한 참조 공간 할당 s[1]= new String[2]; 최고 차원 참조 공간 할당 s[0][0]= new String("Good");// 각 배열 요소에 대해 별도로 공간 할당 s[0][1]= new String("Luck");// 각 배열 요소에 대해 별도로 공간 할당 배열 요소 배열 요소에는 개별적으로 공간이 할당됩니다. s[1][0]= new String("to");// 각 배열 요소에 별도의 공간을 할당합니다. s[1][1]= new String("You");// 각 배열 요소에 별도의 공간을 할당합니다.3. 2차원 배열 요소에 대한 참조
2차원 배열의 각 요소에 대한 참조 방법은 다음과 같습니다: arrayName[index1][index2]
예를 들어:
숫자[1][0];
4. 2차원 배열의 예:
[예시] 두 행렬의 곱셈
public class MatrixMultiply{ public static void main(String args[]){ int i,j,k; int a[][]=new int [2][3] //2차원 배열의 동적 초기화 int b [] []={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//정적 초기화
2차원 배열
int c[][]=new int[2][4]; //2차원 배열의 동적 초기화 for (i=0;i<2;i++) for (j=0; j<3;j++) a[ j]=(i+1)*(j+2); for (i=0;i<2;i++){ for (j=0;j<4;j++){ c[j]=0; for(k=0;k<3;k++) c[j]+=a[k]*b[k][j]; } } System.out.println("*******행렬 C********");// 행렬 인쇄 C 표시 for(i=0;i<2;i++){ for (j=0;j<4;j++) System.out.println(c[j]+" ") System.out.println( ) } } }