Java-Array-Deklaration, Erstellung, Initialisierung
So deklarieren Sie ein eindimensionales Array:
Typ var[]; oder Typ[] var;
Bei der Deklaration eines Arrays können Sie dessen Länge (die Anzahl der Elemente im Array) nicht angeben.
In Java wird das Schlüsselwort new zum Erstellen eines Array-Objekts verwendet. Das Format ist:
Array-Name = neuer Array-Elementtyp [Anzahl der Array-Elemente]
Beispiel:
TestNew.java:
Programmcode:
öffentliche Klasse TestNew { public static void main(String args[]) { int[] s = new int[5]; ; } for(i = 4 ; i >= 0 ; i--) { System.out.println("" + s[i]) } } }Initialisierung:
1. Dynamische Initialisierung: Die Array-Definition wird getrennt von den Vorgängen zum Zuweisen von Speicherplatz und Zuweisen von Werten zum Array durchgeführt.
2. Statische Initialisierung: Weisen Sie beim Definieren von Zahlen Platz zu und weisen Sie Array-Elementen Werte zu.
3. Standardinitialisierung: Das Array ist ein Referenztyp und seine Elemente entsprechen den Mitgliedsvariablen der Klasse. Daher wird jedes Element auch gemäß den Regeln der Mitgliedsvariablen initialisiert, nachdem das Array Speicherplatz zugewiesen hat.
Beispiel:
TestD.java (dynamisch):
Programmcode:
public class TestD { public static void main(String args[]) { int a[3]; Tage[] ; Tage = neues Datum[3] ; Tage[0] = neues Datum(2008,4,5) ; Tage[1] = neues Datum(2008,2,31) ; Date(2008,4,4); } class Date { int Jahr, int Monat, int Tag) { this.year = year, this.day = day; ; } }TestS.java (statisch):
Programmcode:
public class TestS { public static void main(String args[]) { int a[] = {0,1,2} Time times [] = {new Time(19,42,42),new Time(1,23 ,54),new Time(5,3,2)} ; } } class Time { int stunde,min,sek ; Time(int stunde,int min ,int sek) { this.hour = stunde ; ; this.sec = sec; } }TestDefault.java (Standard):
Programmcode:
öffentliche Klasse TestDefault { public static void main(String args[]) { int a [] = new int [5] ; System.out.println("" + a[3]) } ; JAVA-Grundlagen: eindimensionale Arrays und mehrdimensionale Arrays
In der Java-Sprache ist Array der einfachste zusammengesetzte Datentyp. Ein Array ist eine Sammlung geordneter Daten. Jedes Element im Array hat denselben Datentyp. Ein einheitlicher Array-Name und Index kann verwendet werden, um die Elemente im Array eindeutig zu identifizieren. Zu den Arrays gehören eindimensionale Arrays und mehrdimensionale Arrays.
1. Definition eines eindimensionalen Arrays
Typ ArrayName[];
Typ (Typ) kann ein beliebiger Datentyp in Java sein, einschließlich einfacher Typen und zusammengesetzter Typen.
Zum Beispiel:
int intArray[]; Datum dateArray[];
2. Initialisierung eines eindimensionalen Arrays
(1) Statische Initialisierung
int intArray[]={1,2,3,4}; String stringArray[]={"abc", "How", "you"};(2) Dynamische Initialisierung
1) Einfaches Array
int intArray[]; intArray = new int[5];
2) Array vom zusammengesetzten Typ
String stringArray[ ]; String stringArray = new String[3];/*Eröffne einen Referenzraum (32 Bit) für jedes Element im Array */ stringArray[0]= new String("How");//Für die erstes Platz für Array-Elemente schaffen stringArray[1]= new String("are");//Platz für das zweite Array-Element freigeben stringArray[2]= new String("you");// Platz für das dritte Array schaffen Element3. Verweis auf ein eindimensionales Array-Element
Auf Array-Elemente wird verwiesen als:
arrayName[index]
Index ist der Array-Index, der eine Ganzzahlkonstante oder ein Ausdruck sein kann. Der Index beginnt bei 0. Jedes Array verfügt über ein Längenattribut, das seine Länge angibt, zum Beispiel: intArray.length gibt die Länge des Arrays intArray an.
mehrdimensionales Array
In der Java-Sprache werden mehrdimensionale Arrays als Arrays von Arrays betrachtet.
1. Definition eines zweidimensionalen Arrays
Typ ArrayName[ ][ ]; Typ [ ][ ]ArrayName;
2. Initialisierung eines zweidimensionalen Arrays
(1) Statische Initialisierung
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};Da in der Java-Sprache ein zweidimensionales Array als Array von Arrays betrachtet wird, wird der Array-Speicherplatz nicht kontinuierlich zugewiesen, sodass die Größe jeder Dimension des zweidimensionalen Arrays nicht gleich sein muss.
(2) Dynamische Initialisierung
1) Weisen Sie jeder Dimension direkt Platz im folgenden Format zu:
arrayName = new type[arrayLength1][arrayLength2];
2) Ordnen Sie ausgehend von der höchsten Dimension jeder Dimension Platz zu:
arrayName = neuer Typ[arrayLength1][ ]; arrayName[0] = neuer Typ[arrayLength20]; arrayName[1] = neuer Typ[arrayLength21] … arrayName[arrayLength1-1] = neuer Typ[arrayLength2n];
3) Beispiel: Die dynamische Initialisierung eines zweidimensionalen Arrays einfacher Datentypen lautet wie folgt:
int a[ ][ ] = new int[2][ ]; a[0] = new int[3];
Bei Arrays aus zweidimensionalen zusammengesetzten Datentypen muss zuerst der Referenzraum für die höchste Dimension zugewiesen werden, und dann muss nacheinander Platz für die niedrigeren Dimensionen zugewiesen werden. Darüber hinaus muss für jedes Array-Element Speicherplatz separat zugewiesen werden.
Zum Beispiel:
String s[ ][ ] = new String[2][ ]; s[0]= new String[2];//Referenzraum für die höchste Dimension zuweisen s[1]= new String[2]; höchste Dimension Referenzraum zuweisen s[0][0]= new String("Good");// Platz separat für jedes Array-Element zuweisen s[0][1]= new String("Luck");// Für jedes Array-Element Array-Elementen wird einzeln Speicherplatz zugewiesen s[1][0]= new String("to");// Weisen Sie jedem Array-Element separaten Platz zu. s[1][1]= new String("You");// Weisen Sie jedem Array-Element separaten Platz zu3. Verweis auf zweidimensionale Array-Elemente
Für jedes Element im zweidimensionalen Array lautet die Referenzmethode: arrayName[index1][index2]
Zum Beispiel:
num[1][0];
4. Beispiel für ein zweidimensionales Array:
[Beispiel] Multiplikation zweier Matrizen
public class MatrixMultiply{ public static void main(String args[]){ int i,j,k; int a[][]=new int [2][3] //Dynamische Initialisierung eines zweidimensionalen Arrays int b [] []={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//Statische Initialisierung
ein zweidimensionales Array
int c[][]=new int[2][4]; //Dynamische Initialisierung eines zweidimensionalen Arrays für (i=0;i<2;i++) für (j=0; j<3;j++) a[ j]=(i+1)*(j+2); für (i=0;i<2;i++){ für (j=0;j<4;j++){ c[j]=0; for( k=0;k<3;k++) c[j]+=a[k]*b[k][j]; } } System.out.println("*******Matrix C********");// Matrix-C-Markierung for(i=0;i<2;i++){ for (j=0;j<4;j++) System.out.println(c[j]+" "); ); } } }