Les Tableaux en Java

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 12

developpement-informatique.

com

Les tableaux en Java


Developpement-informatique.com

12-15 minutes

Un tableau est une liste nommée d'éléments de données qui ont tous le même type de données.

Chaque donnée est un élément du tableau.

Tableaux à une dimension (1D)

Déclaration d'un tableau

Vous déclarez un tableau de la même manière que vous déclarez une variable simple, mais vous

insérez une paire de crochets après le type de données.

Syntaxe :

1 typeDonnee[] nomTableau;  

2 ou

3 typeDonnee nomTableau[]; 

Exemple 1 :

1 double[] tab;

2 Etudiant[] etds;

Vous pouvez fournir n'importe quel identifiant légal pour un tableau, mais les programmeurs Java

nomment généralement les tableaux en suivant les mêmes règles que celles utilisées pour les

variables. Les noms de tableau commencent par une lettre minuscule et utilisent des lettres majuscules

pour commencer les mots suivants.

Exemple 2 :
1 Etudiant[] listeEtudiants;

Création d'un tableau

Après avoir créé une variable tableau, vous devez réserver de l'espace mémoire.

Déclarer un tableau et lui réserver de la mémoire sont deux processus distincts. Pour réserver des

emplacements mémoire pour 20 valeurs "Etudiant", vous pouvez déclarer la variable de tableau et créer

le tableau avec deux instructions distinctes, comme suit:

Exemple 3 :

1 Etudiant[] listeEtudiants;

2 listeEtudiants = new Etudiant[20];

Vous pouvez également déclarer et créer un tableau dans une seule instruction ,comme suit :

Exemple 4 :

1 Etudiant[] listeEtudiants = new Etudiant[20];

 Remarque !  En Java, la taille d'un tableau suit le type de données et n'est jamais déclarée

immédiatement après le nom du tableau, comme c'est le cas dans d'autres langages tels que C ++.

En utilisant des crochets, les créateurs de Java vous ont facilité la distinction entre les noms de tableaux

et les méthodes.

Un indice est un entier contenu entre crochets qui spécifie un des éléments d’un tableau. En Java, tous

les éléments d’un tableau sont numérotés en commençant par 0. Vous pouvez donc utiliser légalement

tout indice compris entre 0 et 19 lorsque vous travaillez avec un tableau comportant 20 éléments.

 Remarque !  Un indice s'appelle également un index. En particulier, vous verrez le terme index dans

certains messages d'erreur émis par le compilateur.

C'est une erreur courante d'oublier que le premier élément d'un tableau est l'élément 0, en particulier si

vous connaissez un autre langage de programmation dans lequel le premier élément de tableau est

l'élément 1 tel que Scilab. Faire cette erreur signifie que vous serez "décalé d'un" dans votre utilisation

d'un tableau.
Il est également courant d’oublier que l’indice du dernier élément est inférieur à la taille du tableau. Par

exemple, l'indice le plus élevé autorisé pour un tableau de 100 éléments est 99.

Pour se rappeler que les éléments de tableau commencent par l'élément 0, cela peut être utile si vous

pensez que le premier élément de tableau est à «zéro élément du début du tableau». , le deuxième

élément étant «un élément à l’écart» du début du tableau, et ainsi de suite.

Si vous utilisez un indice trop petit (c'est-à-dire négatif) ou trop grand pour un tableau, il est hors limites

(out of bounds) et un message d'erreur est généré.

Lorsque vous déclarez ou accédez à un tableau, vous pouvez utiliser n'importe quelle expression pour

représenter la taille, à condition que l'expression soit un entier. Certains autres langages de

programmation, tels que C ++, n'autorisent que l'utilisation de constantes nommées ou non nommées

pour la taille lorsqu'un tableau est déclaré. Java permet aux variables, aux expressions arithmétiques et

aux valeurs de retour de méthode d'être utilisées comme tailles de tableau, ce qui rend la déclaration de

tableau plus flexible.

Exemple 5 :

3
double[] tarifs = new double[10];
4
double[] tarifs = new double[MAX_ELEM];
5
double[] tarifs = new double[nombre];
6

Initialiser un tableau

Une variable de type primitif, telle que int, contient une valeur. Une variable de type référence, telle

qu'un tableau, contient une adresse mémoire dans laquelle une valeur est stockée. En d'autres termes,

les noms de tableau contiennent des références, comme tous les noms d'objet Java.
Aucune adresse de mémoire n'est attribuée lorsque vous déclarez un tableau en utilisant uniquement

un type de données, des crochets et un nom. Au lieu de cela, le nom de la variable de tableau a la

valeur null, ce qui signifie que l'identificateur n'est pas associé à une adresse de mémoire.

Lorsque vous utilisez le mot-clé new pour définir un tableau, la référence de tableau acquiert une valeur

d'adresse de mémoire.

Exemple 6 :

1 int[] nums = new int[10];

nums contient une adresse, mais chaque élément de nums a la valeur 0 par défaut, car nums est un

tableau d'entiers. Les valeurs par défaut suivantes sont utilisées pour différents types de tableaux:

 0 est attribué à chaque élément d'un tableau int.

 Chaque élément d'un tableau double ou float est attribué 0.0.

  Chaque élément d'un tableau de caractères est attribué à \u0000, qui correspond à la valeur

Unicode d'un caractère null.

 La valeur false est attribuée à chaque élément d'un tableau booléen.

  Chaque élément d'un tableau d'objets, y compris String, est affecté de la valeur null par défaut.

Lorsque vous travaillez avec un élément individuel de tableau , vous ne le traitez pas différemment de la

façon dont vous traiteriez une variable unique du même type. Par exemple, pour affecter une valeur au

premier élément nums d'un tableau, utilisez une instruction d'affectation simple, telle que la suivante:

Exemple 7 :

Vous pouvez également affecter des valeurs non définies par défaut aux éléments du tableau lors de la

création. Pour initialiser un tableau, vous utilisez une liste de valeurs d'initialisation séparées par des

virgules et placées entre des accolades.

Exemple 8 :

1 int[] nums = {2, 5, 3, 7, 7, 6, 8, 9, 10, 13};

Lorsque vous remplissez un tableau lors de sa création en fournissant une liste d'initialisation, vous ne

lui attribuez pas de taille. La taille est attribuée en fonction du nombre de valeurs que vous placez dans

la liste d'initialisation. Par exemple, le tableau nums que vous venez de définir a une taille de 10. En
outre, lorsque vous initialisez un tableau, vous n'avez pas besoin d'utiliser le mot clé new; à la place, la

nouvelle mémoire est attribuée en fonction de la longueur de la liste des valeurs fournies.

  En Java, vous ne pouvez pas directement initialiser une partie d'un tableau. Par exemple, vous ne

pouvez pas créer un tableau de 10 éléments et n'en initialiser que 5; vous devez soit initialiser chaque

élément, soit ne rien initialiser.

Utiliser des indices variables avec un tableau

le champ length contient le nombre d'éléments dans le tableau.

Lors du traitement des éléments d'un tableau, nous utilisons souvent une boucle for ou une boucle

foreach car tous les éléments d'un tableau sont du même type et que la taille du tableau est connue.

Exemple 9 : boucle for

2
public class Test {
3
    public static void main(String args[]) {
4
        int[] nums = { 3, 5, 6, 8, 6, 7, 18, 19 };
5
        for (int i = 0; i < nums.length; i++) {
6
            System.out.println("Element " + i + " : " + nums[i]);
7
        }
8
    }
9
}
10

11

Element 0 : 3

Element 1 : 5

Element 2 : 6

Element 3 : 8

Element 4 : 6

Element 5 : 7

Element 6 : 18

Element 7 : 19

Exemple 10 : boucle foreach

2
public class Test {
3
    public static void main(String args[]) {
4
        double[] nums = { 3.6, 5.0, 6, 8, 6, 7.76, 18, 19.5 };
5
        for (double elem : nums) {
6
            System.out.println(elem);
7
        }
8
    }
9
}
10

11

3.6

5.0

6.0

8.0

6.0

7.76

18.0

19.5

Passer des tableaux à des méthodes

Tout comme vous pouvez transmettre des valeurs de type primitif à des méthodes, vous pouvez

également transmettre des tableaux à des méthodes. Par exemple, la méthode suivante affiche les

éléments dans un tableau int


Exemple 11 :

2
public class Test {
3
    public void affiche(int[] tab) {
4
        for (double elem : tab) {
5
            System.out.println(elem);
6
        }
7
    }
8
    public static void main(String args[]) {
9
        int[] nums = { 3, 5, 6, 8, 6, 7, 18 };
10
        Test t = new Test();
11
        t.affiche(nums);
12
    }
13
}
14

15

Retourner un tableau à partir d'une méthode

Une méthode peut renvoyer une référence à un tableau et vous devez inclure les crochets avec le type

de retour dans l'en-tête de la méthode.

Par exemple, la méthode suivante renvoie un tableau qui est l'inverse d'un autre tableau.

Exemple 12 :

1 public class Test {

2     public int[] inverser(int[] tab) {


3         int taille = tab.length;

4         int[] result = new int[taille];

5         for (int i = 1; i <= taille; i++) {

6             result[i - 1] = tab[(taille - i)];

7         }

8         return result;

9     }

10     public void affiche(int[] tab) {

11         for (double elem : tab) {

12             System.out.println(elem);

13         }

14     }

15     public static void main(String args[]) {

16         int[] nums = { 3, 5, 6, 8, 6, 7, 18 };

17         Test t = new Test();

18         int[] inv = t.inverser(nums);

19         t.affiche(inv);

20     }

21 }

22

23

24

25

26
Tableaux à deux dimensions

Java prend également en charge les tableaux à deux dimensions. les tableaux a deux dimensions ont

deux colonnes de valeurs ou plus

Les deux dimensions représentent la hauteur et la largeur du tableau. Une autre façon de représenter

un tableau à deux dimensions consiste à utiliser un tableau de tableaux. Il est plus facile d'imaginer des

tableaux à deux dimensions ayant à la fois des lignes et des colonnes. Vous devez utiliser deux indices

lorsque vous accédez à un élément dans un tableau à deux dimensions. Lorsque les mathématiciens

utilisent un tableau à deux dimensions, ils l'appellent souvent une matrice ou un tableau. vous avez

peut-être utilisé un tableau à deux dimensions appelé feuille de calcul.

Lorsque vous déclarez un tableau à une dimension, vous tapez une paire de crochets après le type de

données du tableau. Pour déclarer un tableau à deux dimensions en Java, vous tapez deux paires de

crochets après le type tableau.

Syntaxe :

1 typeDonnee[][] nomTableau=new typeDonnee[Nb_Lignes][Nb_Colonne];  

Exemple 13 :

1 int[][] nums= new int[3][4];

2 Etudiant[][] etds= Etudiant[3][4];

Comme avec un tableau à une dimension, si vous ne fournissez pas de valeurs pour les éléments d'un

tableau numérique à deux dimensions, les valeurs par défaut sont zéro

Vous pouvez affecter d'autres valeurs aux éléments du tableau ultérieurement. Par exemple, nums[0]

[0] = 14; affecte la valeur 14 à l'élément du tableau nums qui se trouve dans la première colonne de la

première ligne.
Vous pouvez également initialiser un tableau à deux dimensions avec des valeurs lors de sa création.

Par exemple, le code suivant affecte des valeurs à nums lors de sa création:

Exemple 14 :

1 int[][] nums= { {0,1,2,3}, {4,5,6,7}, {8,9,10,11} };

Passer un tableau à deux dimensions à une méthode

Lorsque vous transmettez un tableau à deux dimensions à une méthode, vous transmettez le nom du

tableau comme vous le feriez avec un tableau à une dimension. Une méthode qui reçoit un tableau à

deux dimensions utilise deux paires de crochets suivant le type de données dans la liste de paramètres

de l’en-tête de la méthode.

Exemple 15 :

1 public class Test {

2     public void affiche(int[][] tab) {

3         for (int i = 0; i < tab.length; i++) {

4             for (int j = 0; j < tab[i].length; j++) {

5                 System.out.println("tab[" + i + "][" + j + "]=" + tab[i]


[j]);
6

            }
7

        }
8

    }
9

    public static void main(String args[]) {


10

        int[][] nums = { { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 10, 11 }


11
};
12
        Test t = new Test();
13
        t.affiche(nums);
14
    }
15 }

16

17

tab[0][0]=0

tab[0][1]=1

tab[0][2]=2

tab[0][3]=3

tab[1][0]=4

tab[1][1]=5

tab[1][2]=6

tab[1][3]=7

tab[2][0]=8

tab[2][1]=9

tab[2][2]=10

tab[2][3]=11

Tableau irrégulier

Dans un tableau à deux dimensions, chaque ligne est également un tableau. En Java, vous pouvez

déclarer chaque ligne comme ayant une longueur différente. Lorsqu'un tableau à deux dimensions

comporte des lignes de longueurs différentes, il s'agit d'un tableau irrégulier, car vous pouvez imaginer

que les extrémités de chaque ligne sont inégales.

Vous créez un tableau irrégulier en définissant le nombre de lignes pour un tableau à deux dimensions,

mais pas le nombre de colonnes dans les lignes.

Exemple 16 :

1 int[][] nums = new int[3][];

Cette instruction déclare un tableau avec trois lignes, mais les lignes ne sont pas encore créées.

Ensuite, vous pouvez déclarer les lignes individuelles en fonction du nombre d'éléments que vous

souhaitez placer dans chaque ligne, comme suit:

Exemple 17 :
1 nums[0] = new int[3];

2 nums[1] = new int[5];

3 nums[2] = new int[7];

Partager ce cours avec tes amis :

Vous aimerez peut-être aussi