1. Eindimensionales Array
1.1 Definition eines eindimensionalen Arrays
Typ ArrayName[];Typ[] ArrayName;
Der Typ (Typ) kann ein beliebiger Datentyp in Java sein, einschließlich einfacher Typkombinationstypen. Der Array-Name arrayName ist ein zulässiger Bezeichner und [] gibt an, dass die Variable eine Variable vom Array-Typ ist.
Die andere Form mag für C++-Entwickler sehr seltsam sein, aber für Entwicklungssprachen wie JAVA oder C# ist die andere Form möglicherweise intuitiver, da es sich hier nur um eine Variable handelt und das System sie nicht instanziiert . Sie müssen nur den Typ der Variablen angeben und es ist nicht erforderlich, die Array-Größe in [] anzugeben. (Dient die erste Form nur der Kompatibilität mit früheren Gewohnheiten? Schließlich ist der Einfluss der C-Sprache zu groß?)
Zum Beispiel:
int intArray[]; deklariert ein ganzzahliges Array, und jedes Element im Array besteht aus ganzzahligen Daten. Im Gegensatz zu C und C++ weist Java in der Definition eines Arrays keinen Speicher für Array-Elemente zu. Daher muss [] nicht die Anzahl der Elemente im Array angeben, d. h. die Länge des Arrays, und Sie können nicht danach fragen alles über ein wie oben definiertes Array. Zu diesem Zeitpunkt müssen wir den Operator new verwenden. Sein Format ist wie folgt: arrayName=new type[arraySize]; arraySize gibt die Länge des Arrays an. Zum Beispiel: intArray=new int[3];
Weisen Sie einem Ganzzahl-Array den von 3 Ganzzahlen vom Typ int belegten Speicherplatz zu.
Normalerweise können diese beiden Teile mit dem folgenden Format kombiniert werden:
type arrayName=new type[arraySize]; Zum Beispiel: int intArray=new int[3];
1.2 Verweis auf eindimensionale Array-Elemente
Nachdem Sie ein Array definiert und ihm mit dem Operator new Speicherplatz zugewiesen haben, können Sie auf jedes Element im Array verweisen. Auf Array-Elemente wird verwiesen als:
arrayName[index]
Darunter: Index ist der Array-Index, der eine Ganzzahlkonstante oder ein Ausdruck sein kann. Wie a[3], b[i] (i ist eine ganze Zahl), c[6*I] usw. Die Indizes beginnen bei 0 und reichen bis zur Länge des Arrays minus 1. Die in-tArray-Nummer im obigen Beispiel besteht aus drei Elementen, nämlich:
intArray[0], intArray[1], intArray[2]. Hinweis: Es gibt kein intArray[3].
Darüber hinaus erfordert Java im Gegensatz zu C und C++ Überprüfungen außerhalb der Grenzen von Array-Elementen, um die Sicherheit zu gewährleisten. Gleichzeitig verfügt jedes Array über ein Längenattribut, das seine Länge angibt, zum Beispiel: intArray.length gibt die Länge des Arrays intArray an.
public class ArrayTest{ public static void main(String args[]){ int i; int a[]=new int[5]; a[i]=i; i=a.length-1;i>=0;i--) System.out.println("a["+i+"]="+a[i]);
Die Ausführungsergebnisse sind wie folgt:
C:/>java ArrayTesta[4]=4a[3]=3a[2]=2a[1]=1a[0]=0
Dieses Programm weist jedem Element im Array einen Wert zu und gibt ihn in umgekehrter Reihenfolge aus.
1.3 Initialisierung eines eindimensionalen Arrays
Array-Elementen können gemäß obigem Beispiel Werte zugewiesen werden. Es kann auch gleichzeitig mit der Definition des Arrays initialisiert werden.
Zum Beispiel:
int a[]={1, 2, 3, 4, 5};
Trennen Sie jedes Element des Arrays durch ein Komma (,), und das System weist dem Array aktiv eine bestimmte Menge an Speicherplatz zu.
Anders als in C erfordert Java derzeit kein statisches Array. Tatsächlich ähneln die Variablen hier den Zeigern in C, sodass sie weiterhin als Rückgabewerte für andere Funktionen verwendet werden können C, lokale Variablen Die Rückkehr zur aufrufenden Funktion, um sie weiterhin zu verwenden, ist für Leute, die gerade erst lernen, ein sehr leichter Fehler.
2. Mehrdimensionales Array
Wie in C und C++ werden mehrdimensionale Arrays in Java als Arrays von Arrays betrachtet. Beispielsweise ist ein zweidimensionales Array ein spezielles eindimensionales Array, und jedes Element ist ein eindimensionales Array. Im Folgenden verwenden wir zur Veranschaulichung hauptsächlich zweidimensionale Zahlen. Die Situation in hohen Dimensionen ist ähnlich.
2.1 Definition eines zweidimensionalen Arrays
Ein zweidimensionales Array ist definiert als:
Typ arrayName[][];
Zum Beispiel:
int intArray[][];
Wie beim eindimensionalen Array wird den Array-Elementen zu diesem Zeitpunkt kein Speicherplatz zugewiesen. Gleichzeitig muss der Operator new verwendet werden, um Speicher zuzuweisen, bevor auf jedes Element zugegriffen werden kann.
Für hochdimensionale Arrays gibt es mehrere Methoden zum Zuweisen von Speicherplatz:
1. Weisen Sie jeder Dimension direkt Platz zu, z. B.:
int a[][]=new int[2][3];
2. Ordnen Sie ausgehend von der höchsten Dimension Platz für jede Dimension zu, z. B.:
int a[][]=new int[2][];a[0]=new int[3];a[1]=new int[3];
Führen Sie die gleiche Funktion wie in 1 aus. Dies unterscheidet sich von C und C++, bei denen die Länge jeder Dimension einmal angegeben werden muss.
2.2 Verweis auf zweidimensionale Array-Elemente
Für jedes Element im zweidimensionalen Array lautet die Referenzmethode: arrayName[index1][index2], wobei index1 und index2 Indizes sind, die ganzzahlige Konstanten oder Ausdrücke wie a[2][3] usw. sein können. Das Gleiche gilt für alle eindimensionalen Indizes, die alle bei 0 beginnen.
2.3 Initialisierung eines zweidimensionalen Arrays
Es gibt zwei Möglichkeiten:
1. Weisen Sie jedem Element direkt einen Wert zu.
2. Initialisieren Sie das Array gleichzeitig mit seiner Definition.
Zum Beispiel: int a[][]={{2, 3}, {1, 5}, {3, 4}};
Definieren Sie ein 3×2-Array und weisen Sie jedem Element einen Wert zu.