1. Warum Arrays verwenden und die Definition von Arrays? 1.1 Warum Arrays verwenden? Wenn Sie bei der Verarbeitung eines Satzes desselben Datentyps das Alter von 100 Personen in der Klasse darstellen möchten, möchten Sie auf keinen Fall 100 Variablen definieren, um das Alter aller Personen darzustellen. Was sollten Sie also tun? Betrachten Sie die folgenden Beispiele noch einmal.
int age = 17;//Stellt ein Alter dar
Frage 2:Um die Summe zweier Zahlen zu ermitteln, benötigen Sie eine Methode, um die Summe von 5 Zahlen zu ermitteln, und Sie müssen eine Methode überladen, um die Summe zu ermitteln Für die Summe von 1.000 Zahlen und die Summe von 10.000 Zahlen ist die Parameterliste der Methode sehr lang und es müssen viele Methoden vorhanden sein. Sie müssen sich merken, welche Methode zwei und welche drei Parameter hat Parameter. Wenn Sie diese Funktion sorgfältig analysieren, geht es bei dieser Methode eigentlich nur darum, die Summe einer Menge von Werten zu ermitteln, sondern nur darum, welche Zahlen addiert werden müssen .
Tipp des Meisters
: Bei der Definition formaler Parameter einer Methode ist es am besten, 5 nicht zu überschreiten.
1.2 Was ist ein Array?
Einfach ausgedrückt ist es ein Datensatz, ein Datenhaufen. Das sogenannte Array ist eine Datenform, in der mehrere Variablen desselben Typs zur Vereinfachung der Verarbeitung in der Programmierung geordnet organisiert sind. Diese Datensätze desselben Typs, die in einer bestimmten Reihenfolge angeordnet sind, werden Arrays genannt. Alle Daten im Array werden als Array-Elemente bezeichnet, um ihren Speicherort anzugeben. Der Index beginnt bei 0 und die Schrittweite beträgt 1. Dies ähnelt der Erhöhung der Zeilennummer einer Excel-Tabelle nach Reihe.
1.3 Definition des Arrays
Methode 1 (empfohlen): Typ des Array-Elements [] Array-Name; z. B.: int[] ages;
Sie können sich int[] als Datentyp, Array, vorstellen Typ vom Typ int. Methode 2: Typ des Array-Elements Array-Name[];
zB: int ages[];
Hinweis: Das Array muss initialisiert werden, bevor es verwendet werden kann. Denn Initialisierung bedeutet, Speicherplatz im Speicher zuzuweisen .
2. Initialisierung von Arrays
Arrays in Java müssen initialisiert werden, bevor sie verwendet werden können. Die sogenannte Initialisierung besteht darin, den Array-Elementen Speicher zuzuweisen und jedem Element einen Anfangswert zuzuweisen.
Die beiden Möglichkeiten zum Initialisieren eines Arrays sind in statische Initialisierung und dynamische Initialisierung unterteilt.
Unabhängig davon, auf welche Weise Sie das Array initialisieren. Sobald die Initialisierung abgeschlossen ist, ist die Länge des Arrays festgelegt, sofern es nicht erneut initialisiert wird. Mit anderen Worten, das Array hat eine feste Länge.
Arrays haben eine feste Länge:
Sobald das Array erfolgreich initialisiert wurde, ist die Anzahl der Elemente im Array festgelegt und kann nicht geändert werden. Wenn Sie es ändern müssen, können Sie es nur neu initialisieren. 2.1 Statische Initialisierung von Arrays
Wir legen den Initialisierungswert für jedes Array-Element selbst fest und die Länge des Arrays wird vom System (JVM) bestimmt. Syntax:
Array-Elementtyp [] Array-Name =
neu
Array-Elementtyp []{Element 1, Element 2, Element 3,...};
Beispiel:
int[] nums = new int[]{1,3,5,7,9};
Einfache Schreibmethode, muss sofort nach der Deklaration initialisiert werden, kann nicht zuerst deklariert und dann initialisiert werden int [] nums = {1,3,5,7,9};
Illustration der statischen Initialisierungsoperation und Neuzuweisungsoperation des Arrays
2.2 Dynamische Initialisierung des ArraysLassen Sie uns die
Elemente des festlegen Array-Nummer (Array-Länge)
, und der Anfangswert jedes Array-Elements wird vom System bestimmt.
int[5] {1,3,5,7,9};//Die Schreibweise ist falsch. Statische Initialisierung und dynamische Initialisierung können nicht gleichzeitig verwendet werden
.
2.3 Wann sollte die statische Initialisierung und wann die dynamische Initialisierung verwendet werden?
Wenn wir im Voraus wissen, welche Daten wir speichern müssen, wählen wir die statische Initialisierung
Wenn wir
nicht im Voraus wissen, welche Daten wir speichern müssen, können wir nur die dynamische Initialisierung verwenden ;
Java legt Anfangswerte für Datentypen fest, wie unten gezeigt:
Datentyp
Anfangswert
Byte , kurz, int
0.0 F
doppelt
0.0D
boolean
false
char
'u0000' (bedeutet leer)
Referenzdatentyp
null
三、数组基本操作(一维数组)
3.1 数组基本操作:
获取元素: 元素类型 变量 = 数组名[index];
设置元素: 数组名[index] = 值;
遍历数组元素: 建议使用for循环,因为for循环事先知道循环的次数。
数组长度: int len = 数组名.length; length是属性,不是方法.
索引范围: 从0开始,逐一递增。 [0,数组名.length-1]
3.2 操作数组常见异常:
NullPointerException:空指针异常(空引用)。
出现该异常的原因:当数组还未初始化,就直接操作数组
如以下代码:
String[] bs = null;
System.out.println(bs.length)
Nach dem Login kopieren
ArrayIndexOutOfBoundsException:数组的索引越界异常。
出现该异常的原因:根据索引取出数据元素时,输入了超出数组索引范围之外的值。
如下代码:
int[] nums = {1,3,5,7,9};
int a = nums[4];
Nach dem Login kopieren
3.3 获取数组最大最小元素
/**
* 求数组最大值
*
* @param nums
* @return
*/
public static int getMax(int[] nums) {
int result = 0;
for (int i = 0; i < nums.length; i++) {
int num = nums[i];
if (result < num) {
result = num;
}
}
return result;
}
/**
* 求数据最小值
*
* @param nums
* @return
*/
public static int getMin(int[] nums) {
int result = 0;
for (int i = 0; i < nums.length; i++) {
int num = nums[i];
if (i == 0) {
result = num;
}
if (result > num) {
result = num;
}
}
return result;
}
public static String[] reversedOrder(String[] nums) {
String[] result = new String[nums.length];
int index = 0;
for (int i = nums.length - 1; i >= 0; i--) {
result[index] = nums[i];
index++;
}
return result;
}
Das obige ist der detaillierte Inhalt vonGrundlegende Operationen auf Java-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn