0% ont trouvé ce document utile (0 vote)
6 vues17 pages

Introduction aux tableaux statiques en Java

Le document traite des tableaux statiques en Java, qui sont des variables de type composé contenant des valeurs homogènes de taille fixe. Il explique la déclaration, l'initialisation, l'accès aux éléments, ainsi que les erreurs potentielles liées aux indices. De plus, il aborde la manipulation des tableaux, y compris les tableaux multidimensionnels et les différences entre types de base et types évolués.

Transféré par

itglpromotion2023
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues17 pages

Introduction aux tableaux statiques en Java

Le document traite des tableaux statiques en Java, qui sont des variables de type composé contenant des valeurs homogènes de taille fixe. Il explique la déclaration, l'initialisation, l'accès aux éléments, ainsi que les erreurs potentielles liées aux indices. De plus, il aborde la manipulation des tableaux, y compris les tableaux multidimensionnels et les différences entre types de base et types évolués.

Transféré par

itglpromotion2023
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Le langage Java

Les tableaux statiques

Les tableaux statiques 1


Le langage Java

Notion de types composés et tableaux


Un langage de programmation évolué doit fournir le moyen de composer les types élémentaires (type de base) pour
construire des types plus complexes, les types composés (type évolué).

Exemples de données structurées

Un tableau est une variable de type composée (évoluée).

Un tableau (variable indicée) est une collection de valeurs homogènes,


constitué d’éléments qui sont tous du même type.
Ensemble de valeurs portant le même nom de variable et repérées par un indice
(indice(indice)

Il existe deux sortes de tableaux


 Ceux de taille fixe, les tableaux statiques
 Ceux dont la taille peut varier en cours d’exécution, les tableaux dynamiques

Les tableaux statiques 2


Le langage Java

Gestion mémoire des variables bases/évoluées


Type de base
Toute variable de type primitif (ou de base) stocke directement une valeur :

Type évolué
Toute variable de type évolué, comme les tableaux, les chaînes de caractères (String) ou objet que vous allez voir dans
ce cours, stocke une référence (adresse) vers une valeur :

Les tableaux statiques 3


Le langage Java

Les tableaux statiques (taille fixe)


Exemple : Tableau scores contenant 4 int
scores[0] scores[1] scores[2] scores[3]

1000 1500 2490 6450

 On peut définir des tableaux de int, de double, de bool , ... de n’importe quel autre type (de base ou évolué).
 Un tableau est une variable de type évolué donc une référence (adresse) vers une valeur.
 Attention ! Les indices correspondant aux éléments d’un tableau de taille T varient entre 0 et T-1
 Attention ! L’indice est toujours un entier

Déclaration d’un tableau de taille fixe ou

Déclaration d’une variable évolué scores qui référence un tableau d’entiers de taille fixe.

Exemples d’erreur sur l’indice

Il existe deux techniques pour initialiser les éléments :


1. Dans l’instruction de déclaration
2. Dans des instructions séparées

Les tableaux statiques 4


Le langage Java
Initialisation d’un tableau dans l’instruction de déclaration
L’on connaît les valeurs de tous les éléments lors de la déclaration du tableau

Situation en mémoire
Important : Un tableau n’est pas de type de base, il est donc manipulé via une référence !

On dit que la variable scores référence (ou pointe vers) un tableau d’entiers.
La variable scores contient une adresse : l’emplacement du tableau en mémoire !

Les tableaux statiques 5


Le langage Java
Initialisation d’un tableau dans des instructions séparées
Dans le cas général, on ne connaît pas les valeurs de tous les éléments lors de la déclaration du tableau
On utilise alors plusieurs instructions pour déclarer et initialiser :
1. Déclarer le type du tableau
2. Construire le tableau avec : new type [ taille ]
3. remplir le tableau élément par élément

Déclaration-construction d’un tableau de taille fixe


Deux instructions distinctes

Une seule instruction

 L’instruction new int[4]; alloue l’emplacement nécessaire à un tableau de 4 éléments de type entier et en place la
référence dans scores (notez que la variable tableau une fois créé ne pourra pas voir sa taille modifiée).
 En revanche, comme n’importe quelle référence à un objet, la référence contenue dans scores pourra très bien
évoluer au fil de l’exécution et désigner finalement des tableaux différents.

Valeurs par défaut


Chaque élément d’un tableau reçoit une valeur par défaut lors de la construction avec new

Les tableaux statiques 6


Le langage Java
Une fois le tableau déclaré et construit, il faut le remplir élément par élément :

Les tableaux statiques 7


Le langage Java

Accès direct aux éléments d’un tableau


Exemple : Tableau scores contenant 4 entiers
Scores[0] Scores[1] Scores[2] Scores[3]

1000 1500 2490 6450

- Les indices des tableaux commencent 0 et non à 1. Donc attention, tab [2] est le troisième élément du tableau tab!

Attention !
 Les indices correspondant aux éléments d’un tableau de taille T varient entre 0 et T-1
 Il n’y a pas de contrôle de débordement ! ! Il est impératif que l’élément que vous référencez existe effectivement.

Démo : Erreur accès mémoire

Il est impératif que l’élément auquel vous voulez accéder existe effectivement !

Attention ! En cas de débordement une exception est lancée par le programme


=> situation d’erreur provoquant l’arrêt du programme si on ne la traite pas

Les tableaux statiques 8


Le langage Java

Afficher un tableau de taille fixe

=> affiche la référence au tableau tab, donc une adresse.

Si l’on veut faire afficher les éléments du tableau référencé par tab, il faut prévoir une structureitérative.

Il existe en fait au moins trois façons d’itérer sur un tableau :

1. avec les itérations sur ensemble de valeurs

Attention Cette structure ne s’applique qu’à des consultations de valeurs, et en aucun cas à des modifications.

2. avec une itération for « classique »

3. avec des itérateurs (non présenté dans ce cours)

Les tableaux statiques 9


Le langage Java
Nombre d’éléments d’un tableau (taille)
Pour connaître la taille d’un tableau :

Erreur classique : accès avant construction

Les tableaux statiques 10


Le langage Java

Types de base / Types évolué (rappel)

Les tableaux statiques 11


Le langage Java

Tableaux : sémantique de l’opérateur =

L’objet que constitue le tableau de trois entiers anciennement


désigné par t1 n’est plus référencé, il deviendra candidat au
ramasse-miettes.

Les tableaux statiques 12


Le langage Java

Exercice
Donner le schéma mémoire de l’exécution de ces deux codes.

Les tableaux statiques 13


Le langage Java

Tableaux : sémantique de l’opérateur ==


 L’opérateur a == b teste si les variables a et b référencent le même emplacement mémoire.
 L’opérateur a == b ne teste pas l’égalité des valeurs contenues dans les tableaux pointés par a et b !

Les tableaux statiques 14


Le langage Java

Quelques exemples de manipulation de tableaux


 si l’on n’a pas besoin d’expliciter les indices

 si l’on veut expliciter les indices

Les tableaux statiques 15


Le langage Java

Tableaux à plusieurs dimensions


 On connaît tous les éléments lors de la déclaration

 On ne connaît pas tous les éléments lors de la déclaration

Les tableaux statiques 16


Le langage Java
Parcourir un Tableau à plusieurs dimensions
Le moyen le plus naturel de parcourir un tableau multidimensionnel consiste à utiliser des boucles for imbriquées :

Les tableaux statiques 17

Vous aimerez peut-être aussi