Definition und Verwendung von Java -Arrays <BR /> Wenn Sie einen Datensatz desselben Typs speichern möchten, können Sie ein Array verwenden.
Array -Definition und Speicherzuweisung
Es gibt zwei Syntaxe zum Definieren von Arrays in Java:
Typ ArrayName [];
Der Typ ist jeder Datentyp in Java, einschließlich Grundtypen und Kombinationstypen. Zum Beispiel:
int Demoarray []; int [] Demoarray;
Es gibt keinen Unterschied zwischen diesen beiden Formen, und der Verwendungseffekt ist genau der gleiche.
Im Gegensatz zu C und C ++ weist Java beim Definieren von Arrays keinen Speicher für Array -Elemente zu, sodass die Anzahl der Array -Elemente, dh die Länge des Arrays, nicht angeben muss. Darüber hinaus kann ein Array, das oben definiert ist, auf eines seiner Elemente zugreifen.
ArrayName = neuer Typ [Arraysize];
Wo Arraysize die Länge des Arrays und der Typ ist der Typ des Arrays. wie:
DemoArray = New int [3];
Zuordnen Sie den Speicherraum, der 3 intierende ganze Zahlen besetzt ist, einem Ganzzahl -Array.
Normalerweise können Sie Platz für die Definition mit der Syntax als:
Typ arrayName [] = neuer Typ [Arraysize];
Zum Beispiel:
int Demoarray [] = new int [3];
Initialisierung von Arrays
Sie können (statische Initialisierung) initialisieren, während Sie das Array deklarieren, oder Sie können es nach der Deklaration (dynamische Initialisierung) initialisieren. Zum Beispiel:
// statische Initialisierung // Während der statischen Initialisierung Array -Elemente Platz zugewiesen und den Wert intarray [] = {1,2,3,4}; String StringArray [] = {"Wechatyuan", "http: // www .weixUeyuan.net "," Alle Programmiersprachen sind Papier -Tiger "}; // Dynamische Initialisierung float floatarray [] = neuer Float [3]; FloatArray [0] = 1,0f; FloatArray [1] = 132.63f; floatArray [2] = 100f;Array -Referenz
Ein Array kann mit dem Index verwiesen werden:
ArrayName [Index];
Im Gegensatz zu C und C ++ muss Java außerhalb der Untersuchungen über Array-Elemente außerhalb der Untergrabungen durchführen, um die Sicherheit zu gewährleisten.
Jedes Array verfügt über ein Längenattribut, um seine Länge anzuzeigen, beispielsweise intarrray.length die Länge des Array -Intarrays.
[Beispiel] Schreiben Sie einen Code, für den 5 Ganzzahlen eingegeben werden müssen, und geben Sie ihre Summe aus.
Java.util. Geben Sie Array -Elemente an. ) {Intarrray [i] = sc.Nextint (); ("Die Summe aller Array -Elemente ist:" + insgesamt); Auslaufergebnisse:
Bitte geben Sie 5 Ganzzahlen ein, getrennt durch Räume: 10 20 15 25 50
Die Summe aller Array -Elemente lautet: 120
Array Traversal
In der tatsächlichen Entwicklung ist es oft notwendig, das Array zu durchqueren, um jedes Element in das Array zu erhalten. Der einfachste Weg zu denken ist ein für Schleife, zum Beispiel:
int arrayDemo [] = {1, 2, 4, 7, 9, 192, 100}; für (int i = 0, len = arrayDemo.length; i <len; i ++) {System.out.println (ArrayDemo [i ] + ",");}
Ausgangsergebnis:
1, 2, 4, 7, 9, 192, 100,,
Java bietet jedoch eine "verbesserte Version" für die Schleife, die speziell zum Durchlaufen von Arrays verwendet wird, wobei die Syntax als:
für (ArrayType varname: arrayName) {// ein Code}
ArrayType ist ein Array -Typ (auch der Array -Element).
Jede Schleife erfolgt, der Wert des nächsten Elements im Array wird erhalten und bis zum Ende des Arrays in der Varnamenvariablen gespeichert. Das heißt, der Wert von Varname in der ersten Schleife ist das 0. Element, und die zweite Schleife ist das erste Element ... zum Beispiel:
int arrayDemo [] = {1, 2, 4, 7, 9, 192, 100}; for (int x: arrayDemo) {System.out.println (x + ",");}
Das Ausgangsergebnis ist das gleiche wie oben.
Diese verbesserte Version von for Loop wird auch als "foreach Loop" bezeichnet, eine spezielle vereinfachte Version von gewöhnlich für Schleifenanweisungen. Alle für Schleifen können für Schleifen umgeschrieben werden.
Wenn Sie jedoch den Index eines Arrays verwenden möchten, kann das erweiterte für die Schleife dies nicht tun.
Zweidimensionales Array
Die Erklärung, Initialisierung und Referenz von zweidimensionalen Arrays ähneln den eindimensionalen Arrays:
int intarray [] [] = {{{1,2}, {2,3}, {4,5}}; int a [] [] = new int [2] [3]; a [0] [0] = 12; a [0] [1] = 34; // ...... a [1] [2] = 93; In der Java-Sprache wird der Array-Raum nicht kontinuierlich zugewiesen, da zweidimensionale Arrays als Arrays von Arrays angesehen werden, sodass die Größe jeder Dimension des zweidimensionalen Arrays nicht gleich sein muss. Zum Beispiel:
int intarray [] [] = {{{1,2}, {2,3}, {3,4,5}}; int a [] [] = new int [2] []; a [0] = new int [3]; a [1] = new int [5]; [Beispiel] Berechnen Sie das Produkt zweier Matrizen durch ein zweidimensionales Array.
Public Class Demo {public static void main (String [] args) {// Die erste Matrix (dynamische Initialisierung eines zweidimensionalen Arrays) int a [] [] = new int [2] [3]; Matrix (initialisiert ein 2D-Array) int b [] [] = {{1,5,2,8}, {5,9,10, -3}, {2,7, -5, -18}}; // Ergebnismatrix int c [] [] = new int [2] [4]; J ++) a [i] [j] = (i+1) * (j+2); <4; [j]; c [i] [j]); Auslaufergebnisse:
25 65 14 -65 50 130 28 -130
Ein paar Erklärungen:
Das obige ist ein statisches Array. Sobald ein statisches Array deklariert ist, ist seine Kapazität festgelegt und kann nicht geändert werden. Bei der Erklärung eines Arrays müssen Sie daher die maximale Kapazität des Arrays berücksichtigen, um eine unzureichende Kapazität zu vermeiden.
Wenn Sie beim Ausführen eines Programms die Kapazität ändern möchten, müssen Sie eine Array -Liste (ArrayList, auch als dynamisches Array bezeichnet) oder Vektor (Vektor) verwenden.
Es liegt an dem Nachteil der festen Kapazität statischer Arrays, die in der tatsächlichen Entwicklung nicht häufig verwendet werden und durch ArrayList oder Vektor ersetzt werden, da es in der tatsächlichen Entwicklung häufig Elemente zum Array hinzufügen oder löschen muss und seine Kapazität ist nicht einfach zu schätzen.
Java String (String)
An der Oberfläche sind Zeichenfolgen Daten zwischen doppelten Zitaten wie "wixueyuan", "http://www.weixueyuan.net" usw. In Java können Sie die folgende Methode verwenden, um eine Zeichenfolge zu definieren:
String Stringname = "String -Inhalt";
Zum Beispiel:
String url = "http://www.weixueyuan.net"; String webname = "Wechatyuan";
Saiten können durch "+" verkettet werden.
public class Demo {public void main (String [] args) {String Stuname = "Xiao ming"; Die Note ist " + stuscore; System.out.println (info);}} Auslaufergebnisse:
Das Alter von Xiao Ming beträgt 17 und seine Klasse 92,5
Saitenzeichenfolgen haben eines mit Arrays gemeinsam, dh nach ihrer Initialisierung bleibt ihre Länge unverändert und ihr Inhalt bleibt unverändert. Wenn Sie seinen Wert ändern möchten, wird eine neue Zeichenfolge generiert, wie unten gezeigt:
String str = "Hallo"; Str += "World!";
Dieser Ausdruck der Zuordnung sieht ein bisschen wie ein einfacher Solitaire aus und fügt eine "Welt" direkt nach STR hinzu, um die endgültige Zeichenfolge "Hello World!" Das Betriebsprinzip lautet wie folgt: Das Programm generiert zuerst eine STR1 -Zeichenfolge und gilt für einen Speicherplatz im Speicher. Zu diesem Zeitpunkt ist es unmöglich, eine neue Zeichenfolge anzuhängen, da die Länge der Zeichenfolge nach der Initialisierung behoben wird. Wenn Sie es ändern möchten, können Sie den ursprünglichen Raum nur auf den Speicherplatz geben, der die "Hello World!"
Tatsächlich ist String eine Klasse unter dem Paket von Java.lang.
String Stringname = new String ("String -Inhalt");
Zum Beispiel:
String url = new String (http://www.weixueyuan.net);
Da die Zeichenfolge jedoch besonders häufig verwendet wird, bietet Java eine vereinfachte Syntax.
Ein weiterer Grund für die Verwendung einer vereinfachten Syntax ist, dass nach der Standard-Objektorientier-Syntax einen relativ großen Abfall im Speicherverbrauch gibt. Zum Beispiel erstellt String Str = New String ("ABC").
Saitenbetrieb
Es gibt viele Möglichkeiten, Saiten leicht zu bedienen.
1) Länge () Methode
Länge () gibt beispielsweise die Länge der Zeichenfolge zurück:
String str1 = "wixueyuan"; String str2 = "wixUeyuan"; System.out.println ("Die Länge von str1 ist" + str1.length ()); System.out.println ("Die Länge von ST R2 ist" + + + + + + + + + + + + + + str2.Length ());
Ausgangsergebnis:
Die Länge von STR1 beträgt 3 die Länge von STR2 10
Es ist ersichtlich, dass die Länge jedes Zeichens 1 ist, ob es sich um Buchstaben, Zahlen oder chinesische Zeichen handelt.
2) charat () Methode
Die Funktion der charat () -Methode besteht darin, die angegebenen Zeichen in der Zeichenfolge gemäß dem Indexwert zu erhalten. Java sieht vor, dass der Indexwert des ersten Zeichens in einer Zeichenfolge 0 beträgt, der Indexwert des zweiten Zeichens 1 und so weiter. Zum Beispiel:
String str = "123456789"; System.out.println (str.charat (0) + "" + str.charat (5) + "" + str.charat (8));
Ausgangsergebnis:
1 6 9
3) enthält () Methode
Die Methode enthält () wird verwendet, um festzustellen, ob eine Zeichenfolge ein Substring enthält, zum Beispiel:
String str = "wixUeyuan"; System.out.println (str.contains ("yuan");
Ausgangsergebnis:
WAHR
4) ersetzen () Methode
Zeichenfolgeersatz, zum Beispiel, um alle angegebenen Substrings in einer Zeichenfolge zu ersetzen, beispielsweise:
String str1 = "Die URL von WexUeyuan ist www.weixueyuan.net!"; String str2 = str1.replace ("wixUeyuan", "wexUEYUAN"); System.out.println (STR1); Syste M.out.println (STR2). );
Ausgangsergebnis:
Die URL von WexUeyuan ist www.weixueyuan.net! Die URL von WexUeyuan ist www.weixueyuan.net!
HINWEIS: Die Methode Ersatz () ändert nicht die ursprüngliche Zeichenfolge, sondern generiert eine neue Zeichenfolge.
5) Split () Methode
Verwenden Sie die angegebene Zeichenfolge als Trennzeichen, um die aktuelle Zeichenfolge zu teilen.
Java.util. Arrays .ToString (Strarr));
Auslaufergebnisse:
[Wei, Xue, Yuan, ist gut]
Die obigen Listen sind nur einige häufig verwendete Methoden von String -Objekten.