Définition et utilisation des tableaux Java <Br /> Si vous souhaitez enregistrer un ensemble de données du même type, vous pouvez utiliser un tableau.
Définition du tableau et allocation de mémoire
Il existe deux syntaxes pour définir des tableaux en Java:
Type ArrayName [];
Le type est tout type de données en Java, y compris les types de base et les types de combinaison. Par exemple:
int demoarray []; int [] démoarray;
Il n'y a pas de différence entre ces deux formes, et l'effet d'utilisation est exactement le même.
Contrairement à C et C ++, Java n'alloue pas la mémoire pour les éléments du tableau lors de la définition des tableaux, il n'est donc pas nécessaire de spécifier le nombre d'éléments de tableau, c'est-à-dire la longueur du tableau. De plus, pour un tableau défini ci-dessus, il ne peut accéder à aucun de ses éléments.
ArrayName = new Type [ArraySize];
où la taille est la longueur du tableau et du type est le type du tableau. comme:
DemoArray = new int [3];
Allouer l'espace mémoire occupé par 3 entiers int à un tableau entier.
Habituellement, vous pouvez allouer de l'espace tout en définissant, avec la syntaxe comme:
type arrayName [] = new type [arraySize];
Par exemple:
int demoarray [] = new int [3];
Initialisation des tableaux
Vous pouvez initialiser (initialisation statique) tout en déclarant le tableau, ou vous pouvez l'initialiser après la déclaration (initialisation dynamique). Par exemple:
// Initialisation statique // Bien que l'initialisation statique, il attribue l'espace aux éléments de tableau et attribue la valeur int intarray [] = {1,2,3,4}; string stringarray [] = {"wechatyuan", "http: // www .weixueyuan.net "," Tous les langages de programmation sont des tigres de papier "}; // l'initialisation dynamique float floatArray [] = new float [3]; floatArray [0] = 1.0f; floatArray [1] = 132.63f; floatArray [2] = 100f;Référence du tableau
Un tableau peut être référencé par indice:
ArrayName [index];
Contrairement à C et C ++, Java doit effectuer des vérifications hors limites sur les éléments de tableau pour assurer la sécurité.
Chaque tableau a un attribut de longueur pour indiquer sa longueur, par exemple, IntArray.Length spécifie la longueur du tableau INTARRAY.
[Exemple] Écrivez un morceau de code qui nécessite l'entrée de 5 entiers et publient leur somme.
import java.util. Donnez des éléments de tableau Attribuez un système de système System.out.print (s'il vous plaît entrez "+ Len +" entiers, séparés par les espaces: "); ) {intArray [i] = sc.nextint ();} // Calculez la somme des éléments du tableau pour (int i = 0; i <len; i ++) {total + = intarray [i]; ("La somme de tous les éléments du tableau est:" + total); Résultats en cours:
Veuillez entrer 5 entiers, séparés par les espaces: 10 20 15 25 50
La somme de tous les éléments du tableau est: 120
Traversage du tableau
Dans le développement réel, il est souvent nécessaire de traverser le tableau pour obtenir chaque élément dans le tableau. La façon la plus simple de penser est une boucle pour l'exemple: par exemple:
int arraydemo [] = {1, 2, 4, 7, 9, 192, 100}; for (int i = 0, len = arraydemo.length; i <len; i ++) {System.out.println (arraydemo [i i ] + ",");}
Résultat de sortie:
1, 2, 4, 7, 9, 192, 100,
Cependant, Java fournit une "version améliorée" pour la boucle, qui est spécifiquement utilisée pour traverser les tableaux, avec la syntaxe comme:
pour (ArrayType Varname: ArrayName) {// du code}
ArrayType est un type de tableau (également le type d'élément de tableau);
Chaque boucle est effectuée, la valeur de l'élément suivant dans le tableau est obtenue et enregistrée dans la variable Varname jusqu'à la fin du tableau. Autrement dit, la valeur de Varname dans la première boucle est le 0ème élément, et la deuxième boucle est le 1er élément ... par exemple:
int arraydemo [] = {1, 2, 4, 7, 9, 192, 100}; for (int x: arraydemo) {System.out.println (x + ",");}
Le résultat de sortie est le même que ci-dessus.
Cette version améliorée de For Loop est également appelée "Foreach Loop", qui est une version spéciale simplifiée d'Ordinary pour les instructions de boucle. Toutes les boucles Forach peuvent être réécrites pour les boucles.
Cependant, si vous souhaitez utiliser l'index d'un tableau, la boucle améliorée ne peut pas le faire.
Tableau bidimensionnel
La déclaration, l'initialisation et la référence des tableaux bidimensionnels sont similaires aux tableaux unidimensionnels:
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; En langue java, comme les tableaux bidimensionnels sont considérés comme des tableaux de tableaux, l'espace de tableau n'est pas alloué en continu, de sorte que la taille de chaque dimension du réseau bidimensionnel n'est pas nécessaire pour être la même. Par exemple:
int intarray [] [] = {{1,2}, {2,3}, {3,4,5}}; int a [] [] = new int [2] []; a [0] = new int [3]; a [1] = new int [5]; [Exemple] Calculez le produit de deux matrices via un tableau bidimensionnel.
classe publique Demo {public static void main (String [] args) {// La première matrice (initialisation dynamique d'un tableau bidimensionnel) int a [] [] = new int [2] [3]; Matrix (Initialise statiquement un tableau 2D) int b [] [] = {{1,5,2,8}, {5,9,10, -3}, {2,7, -5, -18}}; // Matrice de résultats int C [] [] = new int [2] [4]; j ++) a [i] [j] = (i + 1) * (j + 2); <4; j ++) {c [i] [j] = 0; [J];}} // Résultat de règlement de sortie pour (int i = 0; i <2; i ++) {pour (int j = 0; j <4; j ++) C [i] [J]); Résultats en cours:
25 65 14 -65 50 130 28 -130
Quelques explications:
Ce qui précède est un réseau statique. Une fois qu'un réseau statique est déclaré, sa capacité est fixée et ne peut pas être modifiée. Par conséquent, lorsque vous déclarez un tableau, vous devez considérer la capacité maximale du tableau pour éviter une capacité insuffisante.
Si vous souhaitez modifier la capacité lors de l'exécution d'un programme, vous devez utiliser une liste de tableaux (ArrayList, également connue sous le nom de tableau dynamique) ou un vecteur (vecteur).
C'est précisément en raison de l'inconvénient de la capacité fixe des tableaux statiques qui ne sont pas utilisés fréquemment dans le développement réel et sont remplacés par une liste ou un vecteur, car dans le développement réel, il doit souvent ajouter ou supprimer des éléments au tableau, et sa capacité est Pas facile à estimer.
Java String (String)
En surface, les chaînes sont des données entre des citations doubles, telles que "Weixueyuan", "http://www.weixueyuan.net", etc. En Java, vous pouvez utiliser la méthode suivante pour définir une chaîne:
String StringName = "String Content";
Par exemple:
String url = "http://www.weixueyuan.net"; chaîne webname = "wechatyuan";
Les chaînes peuvent être concaténées via "+".
classe publique Demo {public static void main (String [] args) {String étalame = "xiao ming"; La note est "+ statuse; System.out.println (info);}} Résultats en cours:
L'âge de Xiao Ming est de 17 ans et sa note est de 92,5
Les chaînes de cordes ont une chose en commun avec les tableaux, c'est-à-dire, après leur initialisation, leur longueur reste inchangée et leur contenu reste inchangé. Si vous souhaitez modifier sa valeur, une nouvelle chaîne sera générée, comme indiqué ci-dessous:
String str = "Hello"; str + = "world!";
Cette expression d'affectation ressemble un peu à un simple solitaire, ajoutant un "monde!" Directement après STR pour former la chaîne finale "Hello World!". Le principe de fonctionnement est le suivant: Le programme génère d'abord une chaîne STR1 et s'applique à un espace en mémoire. Il est impossible d'ajouter une nouvelle chaîne à ce moment car la longueur de la chaîne est fixée après son initialisée. Si vous voulez le changer, vous ne pouvez abandonner l'espace d'origine, réappliquer l'espace mémoire qui peut accueillir la chaîne "Hello World!"
En fait, String est une classe sous le package java.lang.
String StringName = new String ("String Content");
Par exemple:
String url = new String (http://www.weixueyuan.net);
Cependant, comme la chaîne est particulièrement courante, Java fournit une syntaxe simplifiée.
Une autre raison d'utiliser une syntaxe simplifiée est que, selon la syntaxe standard orientée objet, il existe un déchet relativement important dans l'utilisation de la mémoire. Par exemple, String str = new String ("ABC"); crée en fait deux objets de chaîne, l'un est l'objet "ABC", stocké dans un espace constant, et l'autre est l'espace appliqué pour l'objet STR en utilisant le nouveau mot-clé.
Fonctionnement des cordes
Il existe de nombreuses façons de faire fonctionner facilement les chaînes.
1) Longueur () Méthode
la longueur () renvoie la longueur de la chaîne, par exemple:
String str1 = "weixueyuan"; string str2 = "weixueyuan"; System.out.println ("La longueur de Str1 est" + str1.length ()); System.out.println ("La longueur de ST R2 est" + str2.length ());
Résultat de sortie:
La longueur de STR1 est 3 La longueur de STR2 est 10
On peut voir que la longueur de chaque caractère est 1, que ce soit des lettres, des chiffres ou des caractères chinois.
2) Méthode Charat ()
La fonction de la méthode charat () est d'obtenir les caractères spécifiés dans la chaîne en fonction de la valeur d'index. Java stipule que la valeur d'index du premier caractère dans une chaîne est 0, la valeur d'index du deuxième caractère est 1, etc. Par exemple:
String str = "123456789"; System.out.println (str.charat (0) + "" + str.charat (5) + "" + str.charat (8));
Résultat de sortie:
1 6 9
3) Contient la méthode
La méthode contient () est utilisée pour détecter si une chaîne contient une sous-chaîne, par exemple:
String str = "weixueyuan"; System.out.println (str.contains ("yuan"));
Résultat de sortie:
vrai
4) Remplacer () Méthode
Remplacement de la chaîne, utilisé pour remplacer toutes les sous-chaînes spécifiées dans une chaîne, par exemple:
String str1 = "L'URL de Weixueyuan est www.weixueyuan.net!"; String str2 = str1.replace ("weixueyuan", "weixueyuan"); system.out.println (str1); syste m.out.println (str2 ));
Résultat de sortie:
L'URL de Weixueyuan est www.weixueyuan.net! L'URL de Weixueyuan est www.weixueyuan.net!
Remarque: La méthode Remplace () ne modifie pas la chaîne d'origine, mais génère une nouvelle chaîne.
5) Méthode Split ()
Utilisez la chaîne spécifiée comme délimiteur pour diviser la chaîne actuelle.
Importer java.util. *; Demo de classe publique {public static void main (String [] args) {String str = "wei_xue_yuan_is_good"; Arrays .Tostring (Strarr));
Résultats en cours:
[Wei, Xue, Yuan, est bon]
Ce qui précède répertorie seulement quelques méthodes couramment utilisées d'objets à chaîne.