Programma'on
Orienté Objet JAVA Cheikh MBENGUE
Email: [Link]@[Link]
Site: [Link]
Licence 1 TDSI
UCAD/FST/TDSI
Année académique 2023-2024
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024 1
• Plan
• Introduc)on
Introduc)on • Caractéris)ques du langage Java
• Concepts de base
• Structure d’un programme Java
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informatique 2023-2024
2
Introduc)on
Introduc)on générale
• La Programma'on Orientée Objet (POO) consiste à modéliser
informa'quement un ensemble d'éléments d'une par'e du monde
réel (que l'on appelle domaine) en un ensemble d'en'tés
informa'ques. Ces en'tés informa'ques sont appelées objets. Il s'agit
de données informa'ques regroupant les principales caractéris'ques
des éléments du monde réel (taille, couleur, ...).
3
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Introduc)on générale
• Java a été développé à par'r de décembre 1990 par une équipe de
Sun Microsystems dirigée par James Gosling.
• Les fondateurs de Java ont réalisé un langage indépendant de toute
architecture de telle sorte que Java devienne idéal pour programmer
pour des réseaux hétérogènes, notamment Internet.
4
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Caractéris)ques du langage Java
• Portabilité ;
• Indépendance par rapport aux plateformes(os+ architectures).
• Sécurité et robustesse;
• Le compilateur interdit toute manipula;on en mémoire
• En interdisant les manipula;ons directes et dangereuses de la mémoire, Java
offre une couche de sécurité importante. Cela permet de réduire les erreurs
liées à la mémoire et de rendre les applica;ons Java plus robustes et
sécurisées.
• Gratuité;
• Les ou;ls de développement Java sont fournis gratuitement.
• Richesse;
• Disponibilité d’une vaste collec;on de bibliothèques de classes.
5
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduction
Compila)on et exécu)on d’un programme en JAVA
• Exemple
• javac [Link]: Compila)on du fichier source.
CeAe commande va générer un fichier [Link] dans le même répertoire que le
fichier source [Link].
• java MaClasse Exécu)on du programme MaClasse.
CeAe commande est censé exécuter les instruc)on du programme de la classe MaClasse
s’ils sont bien sûr exécutable sinon il génère des erreurs d’exécu)on.
6
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Concepts de base
• Une classe est la structure d'un objet, c'est-à-dire la déclaration de l'ensemble
des entités qui composeront un objet.
• Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un moule. En
réalité on dit qu'un objet est une instanciation d'une classe, c'est la raison
pour laquelle on pourra parler indifféremment d'objet ou d'instance.
• Une classe est composée de deux parties:
• Les attributs ou champs (parfois appelés données membres): il s'agit des données
représentant l'état de l'objet.
• Les méthodes (parfois appelées fonctions membres): il s'agit des opérations applicables
aux objets.
7
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Concepts de base
• Illustra;on
8
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Introduc)on
Structure d’un programme Java
• Un programme Java u;lise un ensemble de classes.
• Les classes sont regroupées par paquetage (en anglais, package).
• Une classe regroupe un ensemble d’aQributs et de méthodes.
9
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
• Plan
• Déclara)on d’une classe
• Défini)on d’une méthode
• Les commentaires
• Instruc)ons, blocs et blancs
Syntaxe du langage • Déclara)on d’une variable
• Portée d’une variable
Java • Les opérateurs arithmé)ques élémentaires
• Les opérateurs de comparaison
• Les opérateurs logiques
• Les opérateurs d’affecta)on
• Point d’entrée d’un programme Java
• Exemple de programme
• Compila)on et exécu)on
• Les iden)ficateurs
• Les mots réservés de Java
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informaKque 2023-2024
10
Syntaxe du langage Java
Déclara)on d’une classe
• Le nom de la classe est spécifié derrière le mot clé « class ».
• Le corps de la classe est délimité par des accolades.
• On définit dans le corps les aQributs et les méthodes qui cons;tuent la classe.
11
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Défini)on d’une méthode
• Une méthode est cons;tuée:
• D’un nom.
• D’un type de retour.
• De paramètres ou arguments (éventuellement aucun).
• D’un bloc d’instruc)ons.
• Un paramètre est cons;tué:
• D’un type
• D’un nom
• « void » est le mot-clé signifiant que la méthode ne renvoie pas de valeur.
12
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Défini)on d’une méthode
• Exemple:
13
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les commentaires
• /* Commentaires sur une
ou plusieurs lignes */
• // Commentaires sur une ligne.
• /** Commentaires
d'explica;on */
Les commentaires d'explica;on se placent généralement juste
avant une déclara;on (d'aQribut ou de méthode).
14
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Instruc)ons, blocs et blancs
• Les instruc;ons Java se terminent par un « ; ».
• Les blocs sont délimités par deux accolades:
• { pour le début de bloc
• } pour la fin du bloc
• Un bloc permet de définir un regroupement d’instruc)ons. La défini)on d’une classe ou
d’une méthode se fait dans un bloc.
• Les espaces, tabula;ons, sauts de ligne qui forment l’indenta;on sont
autorisés. Cela permet de présenter un code plus lisible.
• Instruc;ons possibles:
• Déclara)on d’une variable
• Appel de méthode.
• Affecta)on.
• Instruc)on de boucle (while, for...).
• Instruc)on de test (if, switch).
15
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Déclara)on d’une variable
• Une variable possède un type et un nom.
• Le type peut être un type de base(primi;f) ou une classe(composé).
• L’ini;alisa;on d’une variable peut se faire au moment de la déclara;on.
16
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Portée d’une variable
• La portée d’une variable s’étend jusqu’à la fin du bloc dans lequel elle est
définie.
17
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs arithmé)ques élémentaires
• Règles de priorité sur les opérateurs arithmé;ques:
18
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs de comparaison
19
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs logiques
20
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les opérateurs d’affecta)on
• L’opérateur de base est « = ».
• Il existe des opérateurs d’affecta;on qui réalisent à la fois une opéra;on
arithmé;que et l’affecta;on proprement dite:
21
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Point d’entrée d’un programme Java
• Pour pouvoir faire un programme exécutable il faut toujours une classe qui
con;enne une méthode par;culière: la méthode « main ».
• C’est le point d’entrée dans le programme: le microprocesseur sait qu’il va commencer à
exécuter les instruc)ons à par)r de cet endroit.
22
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Exemple de programme
23
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Exemple de programme
24
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Exemple de programme
25
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Compila)on et exécu)on
26
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Compila)on et exécu)on
• Pour résumer, dans une console DOS ou un terminal, si j’ai un fichier
[Link] pour la classe Bonjour:
• javac [Link]
• javac est la commande qui lance le compilateur Java.
• Compila6on en bytecode java.
• Indica6on des erreurs (éventuelles) de syntaxe.
• Généra6on d’un fichier [Link] s’il n’y a pas d’erreurs.
• java Bonjour
• java est la commande qui lance la machine virtuelle (JVM).
• Exécu6on du bytecode.
• Remarque:
• Nécessité de la méthode main, qui est le point d’entrée dans le programme.
27
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Compila)on et exécu)on
• On peut u;liser ce qu’on appelle un environnement de développement
intégré (IDE) pour compiler et exécuter des applica;ons Java.
• Un IDE Java est un éditeur spécifique du code Java ayant une interface
intui;ve qui permet de faciliter l’édi;on, la compila;on, la correc;on
d’erreurs et l’exécu;on des applica;ons Java.
• Exemples d’IDE Java:
• NetBeans,
• Eclipse,
• VsCode,
• IntelliJ,
• ……..
28
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les iden)ficateurs
• Un iden;ficateur(ou nom) permet de désigner une classe, une méthode, une
variable...
• Règles à respecter pour les iden;ficateurs:
• Interdic)on d’u)liser les mots-clés (mots réservés de Java).
• Les iden)ficateurs peuvent commencer par:
• Une leKre.
• Un « $ ».
• Un « _ » (underscore).
• Les iden)ficateurs ne peuvent pas commencer par:
• Un chiffre.
• Un signe autre que « $ » ou « _ ».
29
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Syntaxe du langage Java
Les mots réservés de Java
30
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
• Plan
• Introduc)on
• Les en)ers
Les types primi)fs • Les réels
• Les booléens
• Les caractères
• Lecture des entrées en JAVA
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informaKque 2023-2024
31
Les types primi)fs
Introduc)on
• En Java, tout est objet sauf les types primi;fs ou types de base.
• Il y a huit types de base:
• Un type booléen pour représenter les variables ne pouvant prendre que 2
valeurs (vrai et faux, 0 ou 1, etc.):
• Nota)on: boolean avec les valeurs associées true et false.
• Un type pour représenter les caractères:
• Nota)on: char.
• Quatre types pour représenter les en;ers de divers taille:
• Nota)on: byte, short, int et long.
• Deux types pour représenter les réelles:
• Nota)on: float et double.
32
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les en)ers
• Les en&ers (avec signe):
• byte: codé sur 8 bits, peuvent représenter des en&ers allant de -2^7 à 2^7 –1 (-128 à
+127).
• short: codé sur 16 bits, peuvent représenter des en&ers allant de -2^15 à 2^15 –1.
• int: codé sur 32 bits, peuvent représenter des en&ers allant de -2^31 à 2^31 –1.
• long: codé sur 64 bits, peuvent représenter des en&ers allant de -2^63 à 2^63 –1.
• Opéra&ons sur les en&ers:
• + : addi'on.
• - : soustrac'on.
• * : mul'plica'on.
• / : division en'ère.
• % : reste de la division en'ère.
• Exemples:
• 15/4 donne 3
• 17%3 donne 2
33
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les en)ers
• Opéra;ons sur les en;ers:
• Les opérateurs d’incrémenta;on et de décrémenta;on ++ et -- :
• + + : ajoute 1 à la valeur d’une variable en;ère.
• - - : retranche 1 de la valeur d’une variable en;ère.
• n++; « équivalent à » n = n+1;
• n--; « équivalent à » n = n-1;
• Exemple:
• int n=12;
• n ++; // Maintenant n vaut 13.
34
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les en)ers
• Opéra;ons sur les en;ers:
• 8++; est une instruc;on illégale.
• L’incrémenta;on (resp. la décrémenta;on) peut être u;lisée de manière
préfixée: ++n.
• La différence avec la version suffixée se voit quand on les u;lisent dans les
expressions.
• En version préfixée l’incrémenta;on (resp. la décrémenta;on) s’effectue en
premier, alors qu’elle s’effectue en dernier en version suffixée.
• Exemple illustra;f:
• int m=7; int n=7;
• int a=2 * ++m; // a vaut 16, m vaut 8
• int b=2 * n++; // b vaut 14, n vaut 8
35
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les réels
• Les réels:
• float: codé sur 32 bits, peuvent représenter des nombres allant de -10^35 à +
10^35.
• double: codé sur 64 bits, peuvent représenter des nombres allant de -10^400 à
+10^400.
• Nota'on:
• 4.55 ou 4.55D: réel en double précision.
• 4.55f: réel en simple précision.
36
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les réels
• Opéra'on sur les réels:
• Opérateurs classiques: +, -, *, /
• AQen;on pour la division:
• 15/4 donne 3.
• 15.0 / 4 donne 3.75 (si l’un des termes de la division est un réel, la division
retournera un réel).
37
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les booléens
• Les booléens:
• boolean: con'ent soit vrai (true) soit faux (false).
• Les opérateurs logiques de comparaison:
• Egalité: opérateur ==
• Différence: opérateur !=
• Supérieur et inférieur strictement à: opérateurs > et <
• Supérieur et inférieur ou égal: opérateurs >= et <=
• Exemple:
• boolean x;
• x= true;
• x= false;
• x= (5==5); // l’expression (5==5) est évaluée et la valeur est affectée à x qui vaut alors
vrai
• x= (5!=4); // x vaut vrai, ici on ob&ent vrai car 5 est différent de 4 x= (5>5); // x vaut
faux, 5 n'est pas supérieur strictement à 5 x= (5<=5); // x vaut vrai, 5 est bien inférieur
ou égal à 5
38
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les booléens
• Autres opérateurs logiques:
• Et logique: &&
• Ou logique: ||
• Non logique: !
• Exemples:
• boolean a,b, c;
• a= true;
• b= false;
• c= (a && b); // c vaut false c= (a || b); // c vaut true
• c= !(a && b); // c vaut true
• c=!a; // c vaut false
39
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les types primi)fs
Les caractères
• Les caractères:
• « char » con&ent un seul caractère (le[re, symbole, ponctua&on...).
• Le type char désigne des caractères en représenta&on Unicode.
• Codage sur 2 octets contrairement à ASCII/ANSI codé sur 1 octet.
• Nota&on hexadécimale des caractères Unicode de ‘ \u0000 ’ à ‘ \uFFFF ’.
• Remarque:
• Le codage ASCII/ANSI est un sous-ensemble de la représenta&on Unicode.
• Pour plus d’informa&on sur Unicode: [Link]
• Exemple:
• char a,b,c; // a,b et c sont des variables de type char
• a='a'; // a con&ent la le[re « a »
• b= '\u0022' // b con&ent le caractère guillemet " c=97; // c con&ent le caractère de rang
97: 'a'
40
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
Lecture des entrées en JAVA
• Pour lire les entrées de l'u;lisateur à par;r de différentes sources comme le clavier,
on peut u;liser la classe Scanner et ses différentes méthodes de récupéra;on des
saisies des u;lisateurs.
• Importa;on de la classe Scanner:
• import java.u)[Link];
• Créa;on d'un objet Scanner:
• Pour lire l'entrée de l'u)lisateur à par)r du clavier, on crée un objet Scanner en passant
[Link] en paramètre :
• Exemple: Scanner sc = new Scanner([Link]);
41
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
Lecture des entrées en JAVA
• Méthodes de la classe Scanner:
42
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
• Plan
Les structures de • If else
contrôle • while
• do-while
• for
• break-con)nue
• switch
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informaKque 2023-2024
43
Les structures de contrôle
If else
• Comme la plupart des langages impéra&fs, Java propose un ensemble de structures de
contrôle.
• L’expression if permet d’exécuter un bloc d’instruc&ons uniquement si l’expression
booléenne est évaluée à vrai :
• Exemple: if (i % 2 == 0) {
// instruc*ons à exécuter si i est pair
}
• L’expression if peut être op&onnellement suivie d’une expression else pour les cas où
l’expression est évaluée à faux :
• Exemple: if (i % 2 == 0) {
// instruc*ons à exécuter si i est pair
} else {
// instruc*ons à exécuter si i est impair
}
44
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
If else
• L’expression else peut être suivie d’une nouvelle instruc)on if afin de réaliser des choix mul)ples :
• Exemple : if (i % 2 == 0) {
// instruc*ons à exécuter si i pair
} else if (i > 10) {
// instruc*ons à exécuter si i est impair et supérieur à 10
} else {
// instruc*ons à exécuter dans tous les autres cas
}
• Remarque: Si le bloc d’instruc@on d’un if ne comporte qu’une seule instruc@on, alors les
accolades peuvent être omises :
• Exemple: if (i % 2 == 0)
i++; //Cependant, beaucoup de développeurs Java préfèrent u6liser systéma6quement les accolades.
•
45
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
while
• L’expression while permet de définir un bloc d’instruc;ons à répéter tant que
l’expression booléenne est évaluée à vrai.
• Exemple: while (i % 2 == 0) {
// instruc*ons à exécuter tant que i est pair
}
• L’expression booléenne est évaluée au départ et après chaque exécu;on du bloc
d’instruc;ons.
• Remarque: Si le bloc d’instruc0on d’un while ne comporte qu’une seule instruc0on, alors les accolades peuvent
être omises :
46
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
do-while
• Il existe une variante de la structure précédente, nommée do-while :
• Exemple: do {
// instruc*ons à exécuter
} while (i % 2 == 0);
• Exemple: while (i % 2 == 0) {
// instruc*ons à exécuter tant que i est pair
}
• L’expression booléenne est évaluée au départ et après chaque exécu;on du bloc
d’instruc;ons.
• Remarque: Si le bloc d’instruc0on d’un while ne comporte qu’une seule instruc0on, alors les accolades peuvent
être omises :
47
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
for
• Une expression for permet de réaliser une itéra)on. Elle commence par réaliser une ini)alisa)on
puis évalue une expression booléenne. Tant que ceAe expression booléenne est évaluée à vrai, le
bloc d’instruc)ons est exécuté et un incrément est appelé.
• Syntaxe: for (ini4alisa4on; expression booléenne; incrément)
{ bloc d'instruc4ons }
• Exemple: for (int i = 0; i < 10; ++i)
{ // instruc*ons }
• Il existe une forme améliorée de l’expression for (souvent appelée for-each) qui permet d’exprimer
plus succinctement un parcours d’une collec)on d’éléments.
• Pour que ce8e expression compile, il faut que la variable désignant la collecFon à droite de : implémente le
type Iterable ou qu’il s’agisse d’un tableau. Il faut également que la variable à gauche de : soit compaFble pour
l’assignaFon d’un élément de la collecFon.
• Exemple: short arrayOfShort[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int k : arrayOfShort) {
[Link](k);
}
48
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
break-con)nue
• Pour les expressions while, do-while, for perme8ant de réaliser des itéraFons, il est possible de contrôler le comportement à
l’intérieur de la boucle grâce aux mots-clés break et conFnue.
• break qui8e la boucle sans exécuter le reste des instrucFons.
• Exemple: int k = 10;
for (int i = 1 ; i < 10; ++i){
k *= i
if (k > 200) {
break;
}}
• conFnue arrête l’exécuFon de l’itéraFon actuelle et commence l’exécuFon de l’itéraFon suivante.
• Exemple: for (int i = 1 ; i < 10; ++i) {
if (i % 2 == 0) {
con4nue;
}
[Link](i);
}
49
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les structures de contrôle
switch
• Un expression switch permet d’effectuer une sélecFon parmi plusieurs valeurs.
• Syntaxe: switch (s) {
case "valeur 1":
// instruc*ons
break;
case "valeur 2":
// instruc*ons
break;
case "valeur 3":
// instruc*ons
break;
default:
// instruc*ons
}
• switch évalue l’expression entre parenthèses et la compare dans l’ordre avec les valeurs des lignes case. Si une est idenBque alors il
commence à exécuter la ligne d’instrucBon qui suit. AFenBon, un case représente un point à parBr duquel l’exécuBon du code
commencera. Si on veut isoler chaque cas, il faut uBliser une instrucBon break. Au contraire, l’omission de l’instrucBon break peut être
praBque si on veut effectuer le même traitement pour un ensemble de cas :
50
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
• Plan
• Défini)on
• Déclara)on
• Créa)on
Les tableaux • Taille et indices
• Ini)alisa)on, créa)on et ini)alisa)on simultanée
• Valeur par défaut des éléments
• Tableaux bidimensionnels
Cheikh MBENGUE UCAD/FST/TDSI. Analyse informaKque 2023-2024
51
Les tableaux
Défini)on, Déclara)on et Créa)on
• Les tableaux permeKent de stocker plusieurs valeurs de même type dans une variable.
• Les valeurs contenues dans la variable sont repérées par un indice.
• En langage java, les tableaux sont des objets.
• Déclara6on:
• Type Nom_Tableau[ ]; ou Type[ ] Nom_Tableau;
• Exemple:
• int tab[ ]; // Ou int[ ] tab;
• String chaines[ ]; // Ou String[ ] chaines;
• Créa6on d'un tableau:
• Nom_Tableau = new Type[Taille_Tableau];
• Exemple:
• tab = new int [20]; // tableau de 20 entiers
• chaines = new String [100]; // tableau de 100 chaînes
52
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les tableaux
La taille et les indices
• Le nombre d'éléments du tableau est mémorisé. Java peut ainsi détecter, lors de l'exécu6on, le dépassement
d'indice et générer une excep6on.
• Mot clé pour récupérer la taille d’un tableau: length .
• Syntaxe:
• Nom_Tableau.length;
• Exemple:
• int taille = [Link]; // taille vaut 20
• Comme en C, les indices d’un tableau commencent à ‘ 0 ’. Donc un tableau de taille 10 aura ses indices qui iront
de 0 à 9.
53
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les tableaux
Inia)alisa)on, Créa)on et ini)alisa)on simultanée
• Ini)alisa)on:
• tab[0] = 5;
• tab[1] = 3; // etc.
• chaines[0] = new String("Pierre");
• chaines[1] = new String("Paul"); // etc.
• Créa)on et ini)alisa)on simultanées:
• int tab [ ] = {5, 3};
• String chaines [ ] = {"Pierre", "Paul"};
54
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les tableaux
Valeurs par défaut des éléments dans un tableau
• Voici un tableau qui résume les valeurs par défaut des éléments dans un tableau en Java pour chaque type
primi6f :
55
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024
Les tableaux
Tableaux bidimensionnels
• Syntaxe de déclara6on et de créa6on:
• Type[ ][ ] Nom_Tableau = new Type[Nombre_Lignes][Nombre_Colonnes];
• Exemple:
56
Cheikh MBENGUE UCAD/FST/TDSI. Développement web 2023-2024