Programmation Orientée Objet

Programming, Java · course

Browse all programmation documents

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

Advertisement

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

Advertisement

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

Advertisement

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” );

Advertisement

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