Array : Une collection qui stocke un ensemble de données du même type de données.
int[] : tableau de type int
double[] : tableau de type double
Les variables peuvent être définies par type, telles que :
int[] tableau, le tableau est une variable de celui-ci. tapez, cette variable A est une variable qui stocke un ensemble de données identiques.
Trois façons de définir des tableaux :
La première :
int[] array = {1,2,3,4,5,6};
Définir un tableau et initialisation int[] array = {1,2,3,4,5,6};
定义一个数组且初始化
虽然没写new,但实际上也是一个对象
注意事项:
int[10] array = {1,2,3,4,5,6};
写法错误,int[] 属于类型,中括号里面不能加任何的数字,相当于在这里破坏了它的类型。
第二种:
int[] array2 = new int[3];
定义数组未初始化
第三种:
int[] array3 = new int[]{1,2,3,4,5,6};
Remarque :
int[10] array = {1,2,3,4,5,6};
Ecriture incorrecte, int [] appartient au type, et aucun nombre ne peut être ajouté entre crochets, ce qui équivaut à détruire son type ici.
La deuxième méthode :
int[] array2 = new int[3];
La définition du tableau n'est pas initialisée
La troisième méthode :int[] array3 = new int[]{ 1,2, 3,4,5,6};
Définition et initialisation Le plus utilisé est le premierUtilisation des tableauxObtenir la longueur du tableau :
En Java, vous pouvez trouver directement la longueur du tableau actuel via le nom du tableau array.lengthAccès aux éléments du tableau :
Accès à l'élément avec l'indice de tableau 4 Accès aux éléments du tableau hors limites : Java Si le langage franchit la frontière, une erreur sera signalée directementModifiez les éléments du tableau :
En plaçant des parenthèses dans le nom du tableau, vous ne pouvez pas uniquement accéder au contenu du tableau. indice, mais aussi écrire quelques données dans l'indice Imprimer le tableau : La première méthode (boucle for) Le deuxième type : (boucle for améliorée, pour chaque boucle)La différence entre la boucle for et for each :
la boucle for peut obtenir l'indice,La boucle for each ne peut pas obtenir d'indices et est plus utilisée dans les collections
La troisième méthode : utiliser la classe Arrays de l'outil de manipulation de tableau de Java
Deuxièmement, les tableaux comme paramètres des méthodes
Utilisation de base
Une brève introduction à la JVMStockage des variables locales en mémoire :
La référence ne pointe pas vers un objet Méthode d'écriture :
Cette référence ne pointe vers aucun objet
Une référence ne peut-on pas pointer vers plusieurs objets en même temps ?
Pour ce code, il ne peut pointer que vers un seul objet et stocker l'adresse d'un objet. Au final, seule l'adresse du dernier objet est enregistrée.
Le processus de passage du tableau en paramètre de la méthode :
🎜🎜🎜🎜Résolution et impression des résultats : 🎜🎜Les deux premières solutions : 🎜🎜🎜🎜 🎜résultats d'impression fun2 : 🎜🎜🎜🎜🎜 Exemple d'analyse : Que représente l'image ci-dessous 🎜représente la référence du tableau2, pointant vers l'objet pointé par la référence du tableau1.
L'image suivante représente la signification de l'exemple ci-dessus :
Remarque :
La phrase "points de référence vers la référence" est fausse. Les références ne peuvent pointer que vers des objets. empiler?
Pas nécessairement. Le fait qu'une variable soit sur la pile est déterminé par la nature de votre variable. S'il s'agit d'une variable locale, elle doit être sur la pile. Sinon, par exemple, les variables membres de l'instance ne sont pas nécessairement sur la pile.
3. Exercices sur les tableaux
public class TestDemo { public static void swap(int[] array){ int tmp = array[0]; array[0] = array[1]; array[1] = tmp; } public static void main(String[] args) { int[] array = {10,20}; System.out.println("交换前: "+array[0]+" "+array[1]); swap(array); System.out.println("交换后: "+array[0]+" "+array[1]); }
2. résultat :
Mettez la valeur développée par 2 fois le tableau d'origine dans un nouveau tableau/** * 在原来的数组上扩大2倍 * @param array */ public static void enlarge(int[] array){ for (int i = 0; i <array.length ; i++) { array[i] = array[i]*2; } } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; enlarge(array); System.out.println(Arrays.toString(array)); }3 Simulez et implémentez la fonction tostring
/** * 把原来数组扩大2倍的值放在一个新的数组中 * @param array * @return */ public static int[] func(int[] array) { int[] ret = new int[array.length]; for (int i = 0; i < array.length; i++) { ret[i] = array[i] * 2; } return ret; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; int[] ret = func(array); System.out.println(Arrays.toString(ret)); }
Imprimez le résultat :
4. élément dans le tableaupublic static String myToString(int[] array){ String str = "["; for (int i = 0; i <array.length ; i++) { str = str+array[i]; if(i != array.length-1){ str+= ","; } } str= str + "]"; return str; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; String str = myToString(array); System.out.println(str); }Résultat d'impression : 5. Recherchez l'élément spécifié dans le tableau (recherche séquentielle)
public static int maxNum(int[] array){ if(array == null) return -1; if (array.length == 0) return -1; int max = array[0]; for (int i = 1; i <array.length ; i++) { if(max < array[i]){ max = array[i]; } } return max; } public static void main(String[] args) { int[] array = {12,8,14,26,5,7,8}; int max = maxNum(array); System.out.println(max); }Résultat d'impression : 6. recherche)
public static int findNum(int[] array,int key){ for (int i = 0; i <array.length ; i++) { if(array[i] == key){ return i; } } return -1; } public static void main(String[] args) { int[] array = {2,4,5,6,11,7,8,9}; System.out.println(findNum(array, 7)); }Résultat d'impression :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!