1. Tableaux en mémoire
Dans les exemples précédents, les illustrations manquaient un peu de précision.
Lors de la création de tableaux (comme lors de la création de chaînes), deux blocs de mémoire distincts sont alloués : un pour stocker le tableau (conteneur) lui-même et un second bloc pour la variable qui stocke son adresse . L'image ci-dessous représente cette précision :
La mémoire allouée pour le tableau d' 10
int
éléments et la int[]
variable qui stocke l' adresse du int
tableau, est indiquée en vert.
A titre de comparaison, une variable ordinaire int
stockant la valeur 199
est représentée en bleu.
Cela rappelle un peu le stockage de chaînes en mémoire, vous ne pensez pas ?
C'est vrai, les cordes. Et tout comme lorsque vous travaillez avec des chaînes, vous pouvez assigner des variables de tableau les unes aux autres :
Code | Explication |
---|---|
|
Créer un tableau d' 10 int éléments. Attribuez la valeur 4 à la cellule avec index 2 . Attribuez la valeur 9 à la cellule avec index 7 . Dans la b variable, enregistrez l'adresse stockée dans la a variable. Maintenant a et b pointez sur le même objet tableau en mémoire. Dans la cellule de l'objet tableau avec index 9 , écrivez la somme des valeurs stockées dans les cellules 2 (qui stocke la valeur 4 ) et 7 (qui stocke la valeur 9 ). |
L'objet tableau reste là où il était, et les variables a
et b
stockent la même adresse (référence) au même objet. Regarde l'image:

2. Plus de détails sur l'utilisation des tableaux
Vous pouvez créer un tableau d'éléments de n'importe quel type. Pour ce faire, écrivez simplement des crochets après le nom du type. En général, la création d'un tableau ressemble à ceci :
type[] name = new type[number];
Où type est le type des éléments que nous allons stocker dans le tableau. Name est le nom de la variable que nous utiliserons pour faire référence au tableau, et number est le nombre de cellules dans le tableau.
L'exemple ci-dessus est la forme canonique pour créer une variable tableau et un objet tableau. En réalité, ce sont deux entités distinctes.
Vous pouvez créer une variable tableau séparément d'un objet tableau :
type[] name;
name = new type[number];
Et encore un point non négligeable :
Exemples:
Code | Explication |
---|---|
|
Créer un tableau d' n éléments |
|
Créer un tableau avec 203 des éléments |
|
|
0..99
un
ArrayIndexOfBoundException
, ce qui signifie que l'index était en dehors des limites du tableau.
3. Longueur du tableau
Comme vous l'avez vu dans l'exemple précédent, vous pouvez créer une variable tableau par elle-même, puis lui affecter ultérieurement une valeur (une référence à un objet tableau) quelque part dans le code. Vous pouvez même faire ceci :
Code | Explication |
---|---|
|
Créez une variable tableau dont le type est int[] Si la a variable est inférieure à 10 , créez un tableau d' 10 éléments. Sinon créer un tableau d' 20 éléments |
Et maintenant, que pouvez-vous faire d'autre avec un tel tableau ? Comment savoir combien d'éléments il contient ?
Pour vous aider, les tableaux ont une propriété spéciale (variable) nommée length
. Vous pouvez trouver la longueur d'un tableau à l'aide de cette expression :
array.length;
Voici array
le nom de la variable tableau et length
est le nom de la propriété du tableau. La valeur de la length
propriété ne peut pas être modifiée : la length
propriété elle-même peut être affectée à d'autres variables, mais rien ne peut lui être affecté (si vous essayez de le faire, le programme ne compilera tout simplement pas).
On peut continuer avec l'exemple précédent comme ceci :
Code | Explication |
---|---|
|
Créez une variable tableau dont le type est int[] Si la a variable est inférieure à 10 , créez un tableau d' 10 éléments. Sinon créer un tableau d' 20 éléments Boucler sur tous les éléments du tableau : de 0 à longueurarray.length - 1 |
4. Résumé des faits sur les tableaux en Java
Récapitulons ce que nous savons sur les tableaux :
Fait 1. Un tableau se compose de plusieurs cellules.
Fait 2. Vous accédez à une cellule spécifique en utilisant son numéro (index).
Fait 3. Toutes les cellules sont du même type.
Fait 4. La valeur initiale de toutes les cellules est 0 (si les cellules stockent des nombres), null
(si les cellules stockent des références d'objet) ou false
(si les cellules stockent boolean
des valeurs). Vous en apprendrez plus sur les valeurs par défaut dans ce chapitre .
Le fait 5. String[] list
n'est que la déclaration d'une variable. Cela ne crée pas le conteneur (objet tableau) lui-même. Pour utiliser la variable, vous devez d'abord créer un tableau (conteneur) et l'affecter à la variable. Voir l'exemple ci-dessous.
Fait 6. Lorsque nous créons un objet tableau (conteneur), nous devons indiquer sa taille, c'est-à-dire le nombre de cellules qu'il contient. Cela se fait avec une instruction comme : new TypeName[n]
;
Fait 7. La longueur d'un tableau peut être trouvée en utilisant la .length
propriété.
Fait 8. Après avoir créé un tableau, vous ne pouvez pas modifier le type de ses éléments ou le nombre d'éléments qu'il stocke.
Code | Explication |
---|---|
|
s est null list estnull |
|
La list variable stocke une référence à un objet : un tableau de chaînes composé d' 10 éléments. n est10 |
|
Se réfère maintenant |
|
Une exception (erreur de programme) sera lancée, c'est-à-dire que le programme plantera. list stocke une référence ànull |
|
Une exception de tableau hors limites (erreur de programme) sera générée. Si a list stocke 10 des éléments/cellules, alors les indices valides sont : 0 1 2 3 4 5 6 7 8 9 — 10 éléments. |
GO TO FULL VERSION