Programmation Orient´ee Objet
Ch 2: Le language JAVA
Dr. Mouna Chebbah
Dr. In`es Thabet
Dr. Mouna Chebbah
L2 BC
Ecole Sup´erieur d’´Economie Num´erique
Semestre 1, 2020/2021
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
1/48
Objectif
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Introduire:
§ Environnement de d´eveloppement Java
§ Les ´el´ements de base en langage Java
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
2/48
Java
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Le langage Java est:
§ Langage de programmation OO
cr´e´e par Sun Microsystems
§ Modulaire: on peut ´ecrire des
portions de code utilisables par
plusieurs applications
§ Reprend une syntaxe tr`es proche de
celle du langage C
§ Portable: un mˆeme programme
compil´e peut s’ex´ecuter sur
diff´erents environnements
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
3/48
Environnement Java
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Java est un langage interpr´et´e, ce qui signifie qu’un programme
compil´e n’est pas directement ex´ecutable par le syst`eme
d’exploitation mais il doit ˆetre interpr´et´e par un autre programme,
qu’on appelle interpr´eteur.
Figure: Interpr´etation du langage
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
4/48
Classes
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Dans un programme Java, tout doit toujours se trouver dans
une classe.
public class HelloWord {
public static void main(String[] args)
{
System.out.println(“Hello World! ”);
}
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
5/48
Classes
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Le nom de classe commence par une lettre puis combinaison
de lettres et de chiffres (1`ere lettre Maj)
§ Il faut donner au fichier du code source le mˆeme nom que
celui de la classe publique, avec l’extension .java
§ Java est sensible `a la casse
§ Le compilateur javac HelloWord.java nomme
automatiquement le fichier de pseudo-code HelloWord.class
(mˆeme r´epertoire)
§ Lancer le programme: java HelloWord
§ Chaque instruction se termine par un point virgule
§ Un bloc de code est d´elimit´e par des accolades { et }
§ Les commentaires: /. . ./ sur plusieurs lignes Ou // sur une
seule ligne
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
6/48
La m´ethode main
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ L’ex´ecution d’une application Java d´emarre au niveau de la
m´ethode main
§ Une application Java peut contenir plusieurs classes, mais un
seul point d’entr´ee.
§ La m´ethode main retourne un void, elle peut accepter des
arguments:
public static void main (string [] args)
§ public indique que le main est accessible `a partir d’autres
classes
§ static permet d’invoquer la m´ethode sans instancier l’objet de
la classe
§ void signifie une proc´edure qui n’a pas de type de retour
§ Le param`etre de la m´ethode main, string [] args, est un
tableau string qui repr´esente les arguments de la ligne de
commande utilis´es pour appeler le programme.
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
7/48
Exemple
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
public class MainTest {
public static void main(String[] args)
{
int i=1;
for (String s: args)
{
System.out.println(“args[“+i+”] : ”+s);
i++;
}
}}
Parametre string [] args: m´ecanisme pour que le systeme passe les
informations `a votre application
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
8/48
Exemple
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
9/48
Les m´ethodes
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Une m´ethode regroupe un ensemble d’instructions, pouvant
prendre des param`etres et pouvant renvoyer une valeur.
Exemple
public classTestMethode{
public static void main(String[] args)
{
AffichageBienvenue();
}
public static void AffichageBienvenue(){
System.out.println(”Bonjourzn”);
System.out.println(”ztBienvenue dans le monde merveilleux de
Java”);
}
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
10/48
Les m´ethodes: Ex´ecution
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
11/48
Param`etres d’une m´ethode
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
public classTestMethode{
public static void main(String[] args)
{
DireBonjour(“Mouna”,30);
DireBonjour(“Amine”,35);
}
public static void DireBonjour(String prenom,int age)
{
}
System.out.println(”Bonjour ” + prenom);
System.out.println(”Vous avez ” + age + ” ans”);
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
Publicité
12/48
Param`etres d’une m´ethode: Ex´ecution
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
13/48
Retour d’une m´ethode
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Une m´ethode peut aussi renvoyer une valeur
Exemple
public class FormeGeometrique{
public static void main(String[] args)
{
double valeur = LongueurHypotenuse(1, 3);
System.out.println(valeur);
valeur = LongueurHypotenuse(10, 10);
System.out.println(valeur);
}
public static double LongueurHypotenuse(double a, double b)
{
double sommeDesCarres = a a + b b; // Math.Pow(a, 2)
double resultat = Math.sqrt(sommeDesCarres);
return resultat;
} }
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
14/48
Retour d’une m´ethode: Ex´ecution
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
15/48
Variables
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ En Java il faut d´eclarer un objet ou une variable avec son type
avant de l’utiliser.
§ Une variable r´eserve une place en m´emoire pour stocker des
informations `a tout moment de l’ex´ecution d’un programme et
de les r´eexploiter `a n’importe quel autre moment.
§ Une variable poss`ede:
§ un nom qui permet d’acc´eder aux donn´ees qu’elle contient
§ un type de donn´ees
§ D´eclaration:
type nom [ = expression ];
ătypeąvariable1[=valeur1],variable2=[valeur2],. . .
§ Exemple:
int age =30;
String nom=”Ali”;
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
16/48
Constantes
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Les constantes: donner un nom `a une valeur fixe (qui ne peut
pas changer)
§ Si la valeur de la constante change, il suffit de la changer dans
un seul endroit (lors de son affectation)
§ D´eclaration:
§ final type nom = expression ;
§ Exemple: final float TVA = 20.5;
§ TVA = 23.5; “ą erreur
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
17/48
Types de donn´ees
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Type
byte
short
int
long
float
double
(virgule
compris
entre ´9223372036854775808
Valeurs
Entier entre ´128 et `127 (8 bits)
Entier sign´e court entre ´32768 et 32767 (16 bits)
Entier compris entre ´2147483648 et 2147483647 (32 bits)
et
Entier
9223372036854775807 (64 bits)
R´eel
entre
´3, 402823x1038 et ´1, 401298x1045 (nombres n´egatifs)
et 1, 401298x1045 et 3, 402823x1038 (positifs)
et
R´eel
entre
´4, 94065645841247x10324
et
4, 94065645841247x10324 et 1, 79769313486231x10308
(positifs) (32 bits)
1 caract`ere (16 bits)
Chaˆıne de caract`eres (texte mis entre guillemets)
´1, 79769313486231x10308
(n´egatifs)
pr´ecision)
flottante
simple
char
string
boolean Valeur bool´eenne:true, false (1 bits)
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
18/48
Types de donn´ees
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Il est possible d’indiquer au compilateur le type d’une valeur
num´erique en utilisant un suffixe:
§ l ou L pour d´esigner un entier du type long
§ f ou F pour d´esigner un r´eel du type float
§ d ou D pour d´esigner un r´eel du type double
§ Exemples:
§ 45l ou 45L repr´esente la valeur 45 en entier sign´e sur 64 bits.
§ 45f ou 45F repr´esente la valeur 45 en virgule flottante simple
pr´ecision sur 32 bits.
§ 45d ou 45D repr´esente la valeur 45 en virgule flottante double
pr´ecision sur 64 bits.
§ 5.27e-2f ou 5.27e-2F repr´sente la valeur 0.0527 en virgule
flottante simple pr´ecision sur 32 bits.
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
19/48
Op´erateurs
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Op´erateur Exemple R´esultat
=
+
-
*
/
%
x=3
x+3
x-3
x*3
x/3
x%3
Affectation de la valeur 3 dans
la variable x
6
0
9
1
0
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
20/48
Op´erateurs d’assignation
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Simplifie des op´erations qui ajoute une valeur dans une variable et
stocke le r´esultat dans la mˆeme variable.
Op´erateur Effet
R´esultat
+=
-=
*=
/=
%=
addition de deux valeurs et
stocke le r´esultat dans la vari-
able (`a gauche)
soustrait deux valeurs et stocke
Publicité
le r´esultat dans la variable
multiplie deux valeurs et stocke
le r´esultat dans la variable
divise deux valeurs et stocke le
quotient dans la variable
divise deux valeurs et stocke le
reste dans la variable
x+=2 equivalente
`a x=x+2
x-=5 equivalente `a
x=x-5
x*=5 equivalente
`a x=x*5
x/=5 equivalente
`a x=x/5
x%=5 equivalente
`a x=x%5
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
21/48
Op´erateurs d’incr´ementation
Op´erateur D´enomination
Incr´ementation
D´ecr´ementation
++
–
Exemple
int x=7;
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Effet
Augmente
unit´e la variable
Diminue
unit´e la variable
d’une
d’une
Syntaxe
x++ ou ++x
x– ou –x
§ Post-incr´ementation: int y=x++; // y est initialis´e `a 7, puis x
est incr´ement´e `a 8
§ Pr´e-incr´ementation: int y=++x; // x est incr´ement´e `a 8,
puis y est initialis´e `a 8
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
22/48
Op´erateurs: Exemple
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
int age = 20;
age = age + 10; // age contient 30
age++; // age contient 31 (incr´ementation de 1)
age += 10; // ´equivalent `a age = age + 10 (age contient 40)
age /= 2; // ´equivalent `a age = age / 2 “ą (age contient 20)
int moyenne = 5 / 2;
System.out.println(moyenne); // affiche 2 “ą Division enti`ere
double moyenne = 5.0 / 2.0;
System.out.println(moyenne); // affiche 2.5
int k = 5 , n ;
n = k++ ; // n=5, k=6
int k = 5 , n ;
n = ++k ; //n = 6, k = 6
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
23/48
Op´erateur de Concat´enation
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Concat´enation chaˆınes de caract`eres: +
Exemple
String codePostal = “2037”;
String ville = “Ariana”;
String adresse = codePostal + “ ” + ville;
System.out.println(adresse); // affiche : 2037 Ariana
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
24/48
Op´erateurs conditionnels
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Op´erateur Descritpion
==
!=
ą
ă
ą“
ă“
&&
||
!
Egalit´e
Diff´erence
Sup´erieur `a
Inf´erieur `a
Sup´erieur ou ´egal
Inf´erieur ou ´egal
ET logique
OU logique
N´egation
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
25/48
Convertion de types
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Convertion entre types compatibles: le Casting pr´ec`ede la variable
a convertir du nom du type souhait´e entre parentheses.
Exemple
int i = 200;
short s = (short)i;
int i = 20;
double d = i; //ok d=20.0
double prix = 125.55;
int valeur = (int) prix; // valeur vaut 125
int x = (int) 5.27e-2; // x vaut 0
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
26/48
Convertion de types
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Compatibilit´e ascendante des types de variables en Java (implicite
sans transtypage obligatoire).
Une conversion automatique est r´ealis´ee si:
§ Les donn´ees sont compatibles entre elles
§ La destination est plus grande que le type source
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
27/48
Convertion de types
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Convertion entre types incompatibles: utiliser les m´ethodes
appropri´ees.
Exemple 1
String chaineAge = “20”;
int age =Integer.valueOf(chaineAge); // age vaut 20
Exemple 2
String chaineAge = “20”;
double age = Double.valueOf(chaineAge); // age vaut 20.0
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
28/48
Bloc de code et port´e d’une variable
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Les blocs de code permettent de grouper plusieurs instructions
qui vont s’ex´ecuter dans le mˆeme contexte
§ La “port´ee d’une variable” est la zone de code dans laquelle
une variable est utilisable. Elle correspond en g´en´eral au bloc
de code dans lequel est d´efinie la variable
§ Un bloc de code permet de regrouper des instructions qui
commencent par { et qui finissent par }
§ Une variable d´efinie `a l’int´erieur d’un bloc de code aura pour
port´ee ce bloc de code
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
29/48
Les sorties
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
La classe System fournit une application Java avec acces a l’entr´ee
standard (System.in), `a la sortie standard (System.out).
Sortie: les m´ethodes System.out.print et System.out.println
affichent des informations sur l’´ecran de la console.
Exemple
public class Afficher{
public static void main(String[] args)
{
double x = 10;
System.out.println(x); //Affiche 10
double y = 20;
System.out.println(y); //Affiche 20
Publicité
System.out.println(“La somme est: “+(x+y)); //Affiche 30
}
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
30/48
Les entr´ees
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Entr´ee: objet Scanner qui se trouve dans le package
java.util.Scanner. Il faut import java.util.Scanner;
Exemple: Saisie d’une chaine
Scanner sc = new Scanner(System.in);
String str = sc.nextLine(); // r´ecup´erer la saisie
System.out.println(“Vous avez saisi:” + str);
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
31/48
Les entr´ees
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
nextăType de variable commen¸cant par une majusculeą
Exemple: Saisie d’un entier
Scanner sc = new Scanner(System.in);
System.out.println(“Veuillez saisir un nombre :”);
int str = sc.nextInt();
System.out.println(“Vous avez saisi le nombre :” + str);
Exemple: Saisie d’un nombre
Scanner sc = new Scanner(System.in);
double d = sc.nextDouble();
long l = sc.nextLong();
byte b = sc.nextByte();
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
32/48
Les entr´ees/sorties
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Remarque: la m´ethode nextLine() r´ecup`ere le contenu de la ligne
saisie et replace la “tˆete de lecture” au d´ebut d’une autre.
Par contre, nextInt(), nextDouble() sont appel´ees et directement
apres la m´ethode nextLine(), celle-ci ne vous invitera pas a saisir
une chaˆıne de caract`eres: elle videra la ligne commenc´ee par les
autres instructions.
Exemple:
Scanner sc = new Scanner(System.in);
System.out.println(”Saisissez un entier : ”);
int i = sc.nextInt();
System.out.println(“Saisissez une chaˆıne : ”);
String str = sc.nextLine();
System.out.println(“FIN ! ”);
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
33/48
Les entr´ees/sorties
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Scanner sc = new Scanner(System.in);
System.out.println(“Saisissez un entier : ”);
int i = sc.nextInt();
System.out.println(“Saisissez une chaˆıne : ”); //On vide la ligne
avant d’en lire une autre
sc.nextLine();
String str = sc.nextLine();
System.out.println(“FIN ! ”);
} }
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
34/48
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Condition simple
If (condition1)
instruction 1
rElse
instruction 2 s
Exemple
If (compteEnBanque ą“ 0)
System.out.println(“Votre compte est cr´editeur”);
else
System.out.println(“Votre compte est d´ebiteur”);
Ou bien
boolean estCrediteur = (compteEnBanque ą“ 0);
if (estCrediteur)
System.out.println(“Votre compte est cr´editeur”);
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
35/48
Affectation conditionnelle
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Variable = condition ? valeur if true : valeur if false
Cette construction ´evalue la condition et retourne la premi`ere
valeur si la condition est vraie, sinon la seconde “ą Utile pour
diminuer le nombre de lignes de code.
Exemple
If (aăb)
min “ a;
else min “ b;
Affectation conditionnelle:
min “ a ă b ? a : b ;
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
36/48
Conditions multiples
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
If condition1
instruction 1
Else If condition2
instruction 2
Else If condition3
instruction 3
. . .
r Else
instructionElse s
Exemple
if (civilite==’ Mme’ );
System.out.println(“Vous
femme” );
else if (civilite == “Mlle” );
System.out.println(“ Vous
femme non mari´ee” );
else if (civilite == ‘M.’ );
System.out.println(“Vous
homme” );
else
System.out.println(“Je
d´eterminer votre civilit´e” );
n’ai
ˆetes
une
ˆetes
une
ˆetes
un
pas
pu
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
37/48
Switch
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Permet de tester la valeur d’une variable avec plusieurs
conditions possibles
§ Ex´ecute une action parmi plusieurs, selon la valeur retourn´ee.
§ Permet de simplifier l’´ecriture des Else If `a l’aide des
instructions
Switch Expression {
Case valeur 1:
instructions 1
break;
Case valeur 2:
instructions 2
break;
. . .
rDefault:
instructions s
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
38/48
Exemple
String civilite = ”M.”;
Switch (civilite)
{
Case “M.” :
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
System.out.println(“Bonjour monsieur” );
break;
Case “Mme” :
System.out.println(“Bonjour madame” );
Publicité
break;
Case “Mlle” :
System.out.println(“Bonjour mademoiselle” );
break;
Default:
System.out.println(“Je n’ai pas pu d´eterminer votre civilit´e” );
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
39/48
La boucle for
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Ex´ecute une s´erie d’instructions en boucle autant de fois que
sp´ecifi´e
for (int compteur = 0; compteur ă 50; compteur++)
{
System.out.print (”Bonjour Java” + compteur); //affiche le
message 50 fois + le compteur
}
Stringrs jours = new Stringrs{ ”Lundi”, ”Mardi”, ”Mercredi”,
”Jeudi”, ”Vendredi”, ”Samedi”, ”Dimanche” };
for (int indice = 0; indice ă 7; indice++) // jours.length
{
System.out.println(jours[indice]);
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
40/48
La boucle for
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Parcourir le tableau de 2 en 2 en commen¸cant par la fin
intrs chiffres = new intrs{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 9; i ą 0; i ´ “ 2)
{
System.out.println(chiffresris);
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
41/48
La boucle for each
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Stringrs jours = new String[] { “Lundi”, “Mardi”, “Mercredi”,
“Jeudi”, “Vendredi”, “Samedi”, “Dimanche”};
for(String jour : jours)
{
if(jour==“Samedi” || jour==“Dimanche”)
jour=“Weekend”;
System.out.println(jour);
System.out.println(jour);
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
42/48
La boucle while
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Ex´ecute une s´erie d’instructions en boucle tant que la condition est
vraie (True)
int i = 0;
while (i ă 50)
{
System.out.println(“Bonjour Java#” );
i++;
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
43/48
La boucle do while
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
Ex´ecute les instructions `a l’int´erieur de la boucle une fois, puis
r´ep`ete tant que la condition est vraie.
do {
System.out.println(“Bonjour Java” );
i++;
while (iă 50);
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
44/48
Tableaux
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Un tableau Java est un objet permettant de rassembler sous
un mˆeme identificateur des donn´ees de mˆeme type.
ăidentificateur typeą rs ănom tableauą“new
ăidentificateur typeą rns
intrs entiers=new intrs {0,10,20,30};
intrs entiers=new int[4];
Stringrs jours = new Stringrs { ”Lundi”, ”Mardi”,
”Mercredi”,”Jeudi”, ”Vendredi”, ”Samedi”, ”Dimanche” };
System.out.println(joursr3s);
System.out.println(joursr0s); // affiche Lundi
System.out.println(joursr10s); // provoque une erreur d’ex´ecution
for (int i = 0; iă jours.length; i++) {
System.out.println(joursris); }
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
45/48
Tableaux `a deux dimensions
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ La d´eclaration se fait sur le mˆeme principe qu’un tableau `a
une dimension.
§ Deux dimensions :[,]
§ Trois dimensions: [,,], . . .
§ L’initialisation: les valeurs ne sont pas renseign´es les unes `a la
suite des autres, mais en les regroupant par ligne (imbrication
d’accolades).
int Nombresrsrs ={{0,2,4,6,8},{1,3,5,7,9}}
int premiersNombresrsrs = {{0,2,4,6,8},{1,3,5,7,9}};
for(int i = 0; iă 2; i++) {
for(int j = 0; j ă 5; j++) {
System.out.print(premiersNombresrisrjs);
}
System.out.println(“’ );
}
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
46/48
Les ´enum´erations
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
§ Utiliser le mot cl´e enum et sp´ecifier les diff´erentes du type
´enum´er´e (´enum´eration de valeurs)
§ Une ´enum´eration est un type dont toutes les valeurs d´efinies
sont des entiers. La premi`ere vaut 0, et chaque valeur
suivante prend la valeur pr´ec´edente augment´ee de 1
Exemple
enum Jours {
Lundi,
Mardi,
Mercredi,
Jeudi ,
Vendredi,
Samedi,
Dimanche }
Jours jourDeLaSemaine = Jours.Jeudi;
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
47/48
Exemple
class Program {
enum Jours {
Lundi,
Mardi,
Mercredi,
Jeudi,
Vendredi,
Samedi,
Dimanche
}
Structure d’un programme
Variables et constantes
Entr´ees/Sorties
Instructions de contrˆole et boucles
Tableaux et Enum´eration
public static void main(stringrs args) {
Jours jourDeLaSemaine = Jours.Mardi;
System.out.print (jourDeLaSemaine); //
affiche lundi
if
Jours.Dimanche
== Jours.Samedi)
{
System.out.print (“Bon week-end”);
}
(jourDeLaSemaine
||
==
jourDeLaSemaine
Chapitre 1 - Introduction, M. Chebbah
Semestre 1, 2020
48/48