Académique Documents
Professionnel Documents
Culture Documents
Achref El Mouelhi
elmouelhi.achref@gmail.com
1 Variables
Typage statique
Typage dynamique
2 Opérations sur les variables
3 Classe Math
4 Lecture d’une saisie
5 Structures conditionnelles
if
if ... else
if ... else if ... else
switch
Expression ternaire
6 Structures itératives
while
do ... while
for
7 Tableaux
Tableaux à une dimension
Tableaux à deux dimensions
8 Constantes
9 Méthodes
Java
Une variable ?
Pointeur vers une zone mémoire
Permettant de stocker une ou plusieurs données
H I ©
Pouvant avoir plusieurs valeurs différentesE
U L un programme
dans
L MO
r e f E
A ch
©
Java
Une variable ?
Pointeur vers une zone mémoire
Permettant de stocker une ou plusieurs données
H I ©
Pouvant avoir plusieurs valeurs différentesE
U L un programme
dans
L MO
r e f E
A
Java : langage de ch
programmation fortement typé
©
Il faut préciser le type de chaque variable
Une variable peut avoir de valeurs différentes mais ne peut
changer de type.
Java
Java
Utiliser le CamelCase
H I ©
Caractère espace non autorisé
U EL
O
LM
Underscore non autorisé comme nom de variable depuis Java 9
e f E
Privilégier les noms en relation avec le contexte
r
un c
Ne pas choisirA
h
mot-clé du langage
©
Ne pas choisir un ancien mot-clé du langage comme goto ou const
(liste de mots-clés : https://docs.oracle.com/javase/tutorial/
java/nutsandbolts/_keywords.html)
Sensible à la casse
Java
H I ©
U EL
O
f E LM
ch r e
©A
Java
H I ©
U EL
Deux choix possibles pour typer L M O
les variables
f E
re : commencent par une lettre en
Types simples c h
(primitifs)
©A
minuscule
Types objets : commencent par une lettre en majuscule
Java
Principaux types primitifs en Java
H I
int : entier codé sur 4 octets (entre -2 147 483 648 et 2 147 483 647) ©
U EL
long : entier codé sur 8 octets (entre -9 223 372 036 854 775 808 et +9 223 372 036 854
O
LM
775 807)
f E
float : nombre à virgule codé sur 4 octets
r e
ch
©A
double : nombre à virgule codé sur 8 octets
Java
Principaux types primitifs en Java
H I
int : entier codé sur 4 octets (entre -2 147 483 648 et 2 147 483 647) ©
U EL
long : entier codé sur 8 octets (entre -9 223 372 036 854 775 808 et +9 223 372 036 854
O
LM
775 807)
f E
float : nombre à virgule codé sur 4 octets
r e
ch
©A
double : nombre à virgule codé sur 8 octets
Java
Exemple
int x;
H I ©
U EL
O
f E LM
ch r e
©A
Java
Exemple
int x;
Java
Exemple
int x;
Java
Exemple
int x;
Java
Java
Les emballages (wrapper) de types primitifs (types objets) en Java
f E LM
Double pour double
ch r e
©A
Boolean pour boolean
Java
Les emballages (wrapper) de types primitifs (types objets) en Java
f E LM
Double pour double
ch r e
©A
Boolean pour boolean
Java
Exemple d’utilisation d’une chaı̂ne de caractère
H I ©
U EL
O
f E LM
ch r e
©A
Java
Exemple d’utilisation d’une chaı̂ne de caractère
H I ©
EL
On peu aussi faire
ch r e
©A
Java
Exemple d’utilisation d’une chaı̂ne de caractère
H I ©
EL
On peu aussi faire
ch r e
©A
Ou encore
Java
Exemple d’utilisation d’une chaı̂ne de caractère
H I ©
EL
On peu aussi faire
f E LM
ch r e
©A
Ou encore
Java
ch r e
Toutes les classes wrappers contiennent une méthode
©A
(TypeObjet.parseTypeSimple(string)) qui permet de
convertir une chaine de caractère en type primitif de cette classe
Java
e f E
substring(i,j) : permet d’extraire une sous-chaı̂ne de la chaı̂ne à partir de l’indice i
r
jusqu’au l’indice j - 1
ch
©A
equals(str) : permet de comparer la chaı̂ne à str et retourne true en cas d’égalité,
false sinon.
...
Java
Exemple : replace(old,new)
String string = "bonjour les bons jours";
String string2 = string.replace("jour", "soir");
System.out.println(string2);
H I ©
// bonsoir les bons soirs
U EL
O
f E LM
ch r e
©A
Java
Exemple : replace(old,new)
String string = "bonjour les bons jours";
String string2 = string.replace("jour", "soir");
System.out.println(string2);
H I ©
// bonsoir les bons soirs
U EL
O
f E LM
ch
Exemple : indexOf(str,fromIndex) r e
©A
String string = "bonjour les bons jours";
int pos = string.indexOf("bon", 5);
System.out.println(pos);
// affiche 12
Java
Exemple de conversion d’une chaı̂ne de caractère
String string = "2";
byte z = Byte.parseByte(string);
System.out.println(z); // affiche 2
H I ©
U EL
O
f E LM
ch r e
©A
Java
Exemple de conversion d’une chaı̂ne de caractère
String string = "2";
byte z = Byte.parseByte(string);
System.out.println(z); // affiche 2
H I ©
U EL
O
f E LM
Ceci déclenche une exception (arrêt d’exécution)
String string = "a";
ch r e
©A
byte z = Byte.parseByte(string);
System.out.println(z);
Le résultat
Exception in thread "main" java.lang.
NumberFormatException: For input string: "a"
Java
Java
Quatre méthodes pour convertir int en String
int y = 3;
String chaine =((Integer) y).toString();
System.out.println(chaine); // affiche 3
H I ©
EL
int z = 4;
String str = Integer.toString(z);
O U
LM
System.out.println(str); // affiche 4
r e f E
ch
int t = 5;
©A
String s = String.valueOf(t);
System.out.println(s); // affiche 5
int u = 6;
String s = "" + u;
System.out.println(s); // affiche 6
Java
Java
Pas besoin de convertir d’un type simple vers son wrapper (ou
inversement)
H I ©
EL
Integer j = 2;
int k = j;
O U
System.out.println(k); // affiche 2
f E LM
int l = 3;
ch r e
Integer m = l; ©A
System.out.println(m); // affiche 3
Java
H I ©
U EL
O
f E LM
ch r e
©A
Java
H I ©
U EL
Remarque O
f E LM
ch r e
Une variable déclarée avec le mot-clé var
©A
doit être initialisée
a un type déterminé en fonction de sa valeur initiale
ne peut changer de type
Java
Exemple
var x = 10;
H I ©
U EL
O
f E LM
ch r e
©A
Java
Exemple
var x = 10;
H I ©
U EL
O
f E LM
Ceci génère une erreur
ch r e
x = "bonjour";
©A
Java
Java
Quelques raccourcis
i = i + 1 ⇒ i++;
H I ©
i = i - 1 ⇒ i--; UEL
O
i = i + 2 ⇒ i += 2;
f E LM
r e
chi -= 2;
A
i = i - 2 ⇒
©
...
Java
Exemple de post-incrémentation
int i = 2;
int j = i++;
System.out.println(i); // affiche 3
H I ©
System.out.println(j); // affiche 2
UEL
O
f E LM
ch r e
©A
Java
Exemple de post-incrémentation
int i = 2;
int j = i++;
System.out.println(i); // affiche 3
H I ©
System.out.println(j); // affiche 2
UEL
O
f E LM
Exemple de pre-incrémentation
ch r e
int i = 2; ©A
int j = ++i;
System.out.println(i); // affiche 3
System.out.println(j); // affiche 3
Java
Java
ch r e
Math.sqrt(x) : retourne la racine carré de x
©A
Math.floor(x), Math.ceil(x) et Math.round(x) :
retournent l’arrondi de x
Math.random() : retourne une valeur aléatoire entre 0 et 1
...
Java
f E LM
System.out.println(Math.ceil(1.9)); // affiche 2
ch r e
System.out.println(Math.ceil(1.5)); // affiche 2
©A
System.out.println(Math.ceil(1.4)); // affiche 2
System.out.println(Math.floor(1.9)); // affiche 1
System.out.println(Math.floor(1.5)); // affiche 1
System.out.println(Math.floor(1.4)); // affiche 1
Java
I ©
Pour lire une valeur saisie par l’utilisateur dans la console
H
EL
il faut utiliser la classe Scanner
M OU
f E
il faut préciser le type de la L à récupérer
valeur
chr e
© A
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
H I ©
UEL
O
f E LM
ch r e
©A
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Fermer le scanner
scanner.close();
Java
Remarques
H I ©
EL
Pour lire une chaı̂ne de caractère, il faut utiliser la méthode
U
next() ou nextLine() O
f E LM
Pour lire un nombre réel, il faut utiliser la méthode nextFloat()
ch r e
...
©A
Java
Exemple avec next()
Scanner scanner = new Scanner(System.in);
// si on saisit "bonjour tout le monde"
String string = scanner.next();
System.out.println(string);
H I ©
// affiche bonjour
UEL
O
f E LM
ch r e
©A
Java
Exemple avec next()
Scanner scanner = new Scanner(System.in);
// si on saisit "bonjour tout le monde"
String string = scanner.next();
System.out.println(string);
H I ©
// affiche bonjour
UEL
O
f E LM
Exemple avec nextLine()
ch r e
©A
Scanner scanner = new Scanner(System.in);
// si on saisit "bonjour tout le monde"
String string = scanner.nextLine();
System.out.println(string);
// affiche bonjour tout le monde
Java
Java
©A
entier
Java
Java
Exécuter si une condition est vraie
if (condition) {
...
}
H I ©
UEL
O
f E LM
ch r e
©A
Java
Exécuter si une condition est vraie
if (condition) {
...
}
H I ©
UEL
Exemple O
var x = 3;
f E LM
if (x >= 0) {
ch r e
} ©A
System.out.println(x + " est positif");
Java
Exécuter si une condition est vraie
if (condition) {
...
}
H I ©
UEL
Exemple O
var x = 3;
f E LM
if (x >= 0) {
ch r e
} ©A
System.out.println(x + " est positif");
Java
Opérateurs de comparaison
Java
Opérateurs de comparaison
Java
Exercice H I ©
UEL
O
LM
Écrire un code Java qui demande à l’utilisateur de saisir un entier
r e f E
positif et qui affiche ensuite sa parité (sans else).
ch
©A
Java
Exécuter un premier bloc si une condition est vraie, un deuxième sinon (le bloc else)
if (condition1) {
...
}
else {
}
...
H I ©
U EL
O
f E LM
ch r e
©A
Java
Exécuter un premier bloc si une condition est vraie, un deuxième sinon (le bloc else)
if (condition1) {
...
}
else {
}
...
H I ©
U EL
O
Exemple
f E LM
var x = 3;
ch r e
if (x > 0)
{ ©A
System.out.println(x + " est strictement positif");
}
else
{
System.out.println(x + " est négatif ou nul");
}
Java
Exercice
H I ©
U EL
O
Écrire un programme Java qui permet de déterminer si une chaı̂ne de
f E LM
caractères saisie par l’utilisateur contient un nombre pair ou impair de
caractères.
ch r e
©A
Java
On peut enchaı̂ner les conditions avec else if (et avoir un
troisième bloc voire ... un nième)
if (condition1)
{
...
H I ©
}
U EL
else if (condition2) O
{
f E LM
...
ch r e
}
... ©A
else
{
...
}
Java
Exemple
var x = -3;
if (x > 0)
{
H I ©
EL
System.out.println(x + " est strictement positif");
}
O U
LM
else if (x < 0)
{
r e f E
System.out.println(x + " est strictement négatif");
ch
©A
}
else
{
System.out.println(x + " est nul");
}
Java
Exercice
H I ©
Écrire un code Java qui
U EL
M O
f E L trois entiers a, b et c
demande à l’utilisateur de saisir
affiche le résultath
c derel’équation ax + bx + c = 0. 2
©A
Java
Opérateurs logiques
&& : et
|| : ou
H I ©
! : non
U EL
O
ˆ : ou exclusif
f E LM
ch r e
©A
Java
Opérateurs logiques
&& : et
|| : ou
H I ©
! : non
U EL
O
ˆ : ou exclusif
f E LM
ch r e
©A
Tester plusieurs conditions (en utilisant des opérateurs logiques)
if (condition1 && !condition2 || condition3){
...
}
[else ...]
Java
Exercice 1
H I ©
Écrire un code Java qui
U EL
O
f E LM
demande à l’utilisateur de saisir une année (un entier),
r e
affiche si l’année saisie est bissextile (voir
ch
A
https://fr.wikipedia.org/wiki/Ann%C3%A9e_bissextile
©
).
Java
Exercice 2
Java
Exercice 3
H I ©
Écrire un code Java qui
U EL
O
f E LM
demande à l’utilisateur de saisir deux entiers a et b,
ch r e
détermine et affiche si le résultat de l’addition (sans calculer la
©A
somme) est pair ou impair.
Java
Structure conditionnelle switch : syntaxe
switch (nomVariable) {
case constante-1:
groupe-instructions-1;
break;
H I ©
case constante-2:
UEL
groupe-instructions-2;
O
break;
f E LM
...
case constante-N:
ch r e
©A
groupe-instructions-N;
break;
default:
groupe-instructions-par-défaut;
}
Java
Remarques
Java
Structure conditionnelle avec switch
int x = 5;
switch (x) {
case 1:
System.out.println("un");
H I ©
break;
UEL
case 2:
O
System.out.println("deux");
f E LM
break;
case 3:
ch r e
©A
System.out.println("trois");
break;
default:
System.out.println("autre");
}
Java
Java
Si on supprime un break
String x = "2";
switch (x) {
case "1":
System.out.println("un");
H I ©
break;
UEL
case "2": O
System.out.println("deux");
f E LM
case "3":
ch r e
©A
System.out.println("trois");
break;
default:
System.out.println("autre");
}
// affiche deux trois
Java
Un multi-case pour un seul traitement [Java 7]
var x = 5;
switch (x) {
case 1:
case 2:
System.out.println("un ou deux");
H I ©
break;
UEL
case 3: O
System.out.println("trois");
f E LM
break;
ch r e
©A
case 4:
case 5:
System.out.println("quatre ou cinq");
break;
default:
System.out.println("autre");
}
Java
Un multi-case simplifié [depuis Java 14]
var x = 5;
switch (x) {
case 1, 2:
System.out.println("un ou deux");
H I ©
break;
UEL
case 3:
O
System.out.println("trois");
f E LM
break;
case 4, 5:
ch r e
©A
System.out.println("quatre ou cinq");
break;
default:
System.out.println("autre");
}
Java
H I ©
EL
var x = 5;
switch (x) {
O U
LM
case 1, 2 -> System.out.println("un ou deux");
r e E
case 3 -> System.out.println("trois");
f
case 4, 5 -> System.out.println("quatre ou cinq");
ch
©A
default -> System.out.println("autre");
}
Java
var x = 5;
switch (x) {
case 1, 2 -> {
H I ©
EL
System.out.println("un ou");
System.out.println("deux");
O U
LM
}
case 4, 5 -> {
r e E
case 3 -> System.out.println("trois");
f
ch
System.out.println("quatre ou");
} ©A
System.out.println("cinq");
Java
switch peut retourner une valeur [depuis Java 14]
var x = 5;
String result = switch (x) {
case 1, 2 -> {
var tmp = "un ou deux";
H I ©
yield tmp;
UEL
}
O
case 3 -> "trois";
f E LM
case 4, 5 -> {
ch r
var tmp = "quatre ou cinq";e
}
yield tmp;
©A
default -> "autre";
};
System.out.println(result);
Java
Exercice
Java
Java
Java
Java
Exemple
var i = 0;
while (i < 5) {
System.out.println(i);
i++;
H I ©
}
UEL
O
f E LM
ch r e
©A
Java
Exemple
var i = 0;
while (i < 5) {
System.out.println(i);
i++;
H I ©
}
UEL
O
f E LM
Le résultat est
ch r e
0 ©A
1
2
3
4
Java
H I ©
EL
Exercice 1
O U
LM
Écrire un programme qui permet d’afficher les nombres pairs inférieurs
à 10.
r e f E
ch
©A
Java
Exercice 2
H I ©
Écrire un code programme qui
U EL
M O
demande à l’utilisateur de saisirLdeux entiers a et b (avec a < b),
r e f E
A ch
afficher les nombres pairs compris entre a et b.
©
Java
Exercice 3
H I ©
UEL
O
Écrire un programme qui demande à l’utilisateur de saisir un entier
f E LM
positif n et qui calcule puis affiche la somme de tous les entiers positifs
inférieurs à n.
ch r e
©A
Java
Java
Java
Exemple
var i = 0;
do {
System.out.println(i);
i++;
H I ©
} while (i < 5);
U EL
O
f E LM
ch r e
©A
Java
Exemple
var i = 0;
do {
System.out.println(i);
i++;
H I ©
} while (i < 5);
U EL
O
f E LM
Le résultat est
ch r e
0 ©A
1
2
3
4
Java
Exercice
H I ©
U EL
O
Écrire un programme qui demande en boucle à l’utilisateur de saisir un
f E LM
entier jusqu’à l’obtention de 0 puis affiche la somme de tous ces
entiers saisis.
ch r e
©A
Java
Boucle for
for (initialisation; condition[s]; incrémentation) {
H I ©
EL
...
}
O U
f E LM
ch r e
©A
Java
Boucle for
for (initialisation; condition[s]; incrémentation) {
H I ©
EL
...
}
O U
f E LM
ch r e
©A
Attention aux boucles infinies si vous modifiez la valeur du compteur à
l’intérieur de la boucle.
Java
Exemple
for (var i = 0; i < 5; i++) {
System.out.println(i);
}
H I ©
UEL
O
f E LM
ch r e
©A
Java
Exemple
for (var i = 0; i < 5; i++) {
System.out.println(i);
}
H I ©
UEL
O
Le résultat est
f E LM
ch r e
©A
0
1
2
3
4
Java
H I ©
EL
Exercice 1
O U
LM
Écrire un programme qui permet d’afficher les nombres pairs compris
entre 0 et 10.
r e f E
ch
©A
Java
Première solution
for (var i = 0; i < 10; i++) {
if (i % 2 == 0) {
System.out.println(i);
H I ©
}
UEL
} O
f E LM
ch r e
©A
Java
Première solution
for (var i = 0; i < 10; i++) {
if (i % 2 == 0) {
System.out.println(i);
H I ©
}
UEL
} O
f E LM
ch r e
Deuxième solution
©A
for (var i = 0; i < 10; i += 2) {
System.out.println(i);
}
Java
Java
Java
Exercice 3 H I ©
UEL
O
LM
Écrire un programme qui demande à l’utilisateur de saisir deux entiers
r e f E
positifs et qui calcule puis affiche leur plus grand diviseur commun.
ch
©A
Java
Java
Java
Java
H I ©
U EL
O
f E LM
ch r e
©A
Java
H I ©
U EL
O
LM
Ceci déclenche une exception
tab[2] = 10;
r e f E
ch
©A
L’exception
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at org.eclipse.classes.FirstClass.main(FirstClass.java:11)
H I ©
U EL
O
f E LM
ch r e
©A
H I ©
U EL
O
Comme si la taille du tableau a été fixée à deux
f E LM
ch r e
©A
H I ©
U EL
O
Comme si la taille du tableau a été fixée à deux
f E LM
ch r e
Donc, ceci déclenche aussi une exception
tab[2] = 10; ©A
L’exception
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at org.eclipse.classes.FirstClass.main(FirstClass.java:11)
Java
Java
Java
Java
Java
H I ©
U EL
O
f E LM
ch r e
©A
Java
H I ©
U EL
O
Exercice 1
f E LM
ch r e
©A
Écrire un programme qui permet de calculer le nombre total de caractères de toutes les chaı̂nes
présentes dans le tableau voitures.
Java
I
String [] voitures = { "peugeot", "ford", "fiat", "mercedes", "seat", "
H ©
EL
ford", "fiat", "ford" };
O U
f E LM
ch r e
©A
Java
I
String [] voitures = { "peugeot", "ford", "fiat", "mercedes", "seat", "
H ©
EL
ford", "fiat", "ford" };
O U
f E LM
Exercice 2
ch r e
©A
Écrire un programme qui permet de calculer et afficher le nombre d’occurrence de voiture
dans voitures.
Java
Java
Java
Déclaration + initialisation
int[][] tab2dim = new int[][]
{
{1, 2},
{3, 4}
H I ©
};
U EL
O
f E LM
ch r e
©A
Java
Déclaration + initialisation
int[][] tab2dim = new int[][]
{
{1, 2},
{3, 4}
H I ©
};
U EL
O
f E LM
Ou
ch r e
int[][] tab2dim = ©A
{
{1, 2},
{3, 4}
};
Java
Parcourir un tableau à deux dimensions
for (int[] ligne : tab2dim) {
for (int elt : ligne) {
System.out.println(elt);
}
H I ©
}
U EL
O
f E LM
ch r e
©A
Java
Parcourir un tableau à deux dimensions
for (int[] ligne : tab2dim) {
for (int elt : ligne) {
System.out.println(elt);
}
H I ©
}
U EL
O
f E LM
Ou
ch r e
©A
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
System.out.println(tab2dim[i][j]);
}
}
int valeur = 5;
int[][] matrice =
{
{ 2, 3, 5, 7 },
{ 5, 1, 5, 5 },
{ 4, 2, 9, 5 },
{ 8, 5, 6, 5 }
H I ©
EL
};
O U
f E LM
ch r e
©A
int valeur = 5;
int[][] matrice =
{
{ 2, 3, 5, 7 },
{ 5, 1, 5, 5 },
{ 4, 2, 9, 5 },
{ 8, 5, 6, 5 }
H I ©
EL
};
O U
f E LM
Exercice
ch r e
©A
Écrire un programme qui
Java
Étant données les variables suivantes
int valeur = 5;
int[][] matrice =
{
{ 2, 3, 5, 7 },
H I ©
EL
{ 5, 1, 5, 5 },
{ 4, 2, 9, 5 },
O U
LM
{ 8, 5, 6, 5 }
};
r e f E
ch
©A
Java
Étant données les variables suivantes
int valeur = 5;
int[][] matrice =
{
{ 2, 3, 5, 7 },
H I ©
EL
{ 5, 1, 5, 5 },
{ 4, 2, 9, 5 },
O U
LM
{ 8, 5, 6, 5 }
};
r e f E
ch
©A
Exercice
Écrire un programme qui permet de déterminer si valeur est présente dans chaque
ligne de matrice.
Java
Exercice
H I ©
Écrire un programme qui calcule
U EL
la somme de deux matrices L carrM
O
ées,
1
r e f E
2
A ch
le produit de deux matrices carrées.
©
Java
Une constante
un élément qui ne peut changer de valeur
H I ©
UEL
O
f E LM
ch r e
©A
Java
Une constante
un élément qui ne peut changer de valeur
H I ©
UEL
O
f E LM
Nom de constantes en Java
ch r e
©A
Utiliser que des lettres en majuscules.
Pour les noms composés, utiliser underscore comme séparateur.
Java
H I ©
UEL
O
f E LM
ch r e
©A
Java
H I ©
UEL
O
LM
Déclaration d’une constante
final double PI = 3.1415;
r e f E
ch
©A
Java
H I ©
UEL
O
LM
Déclaration d’une constante
final double PI = 3.1415;
r e f E
ch
©A
L’instruction suivante ne peut être acceptée
PI = 5;
Java
Une méthode
H I ©
U EL
O
f E LM
ch r e
©A
Java
Une méthode
H I ©
Exemple de déclaration d’une méthode
U EL
M O
E L
public static int somme (int a, int b) {
f
}
return a + b;
chr e
© A
Java
Une méthode
H I ©
Exemple de déclaration d’une méthode
U EL
M O
E L
public static int somme (int a, int b) {
f
}
return a + b;
chr e
© A
Exemple d’appel d’une méthode
System.out.println(somme(2, 3));
// affiche 5
Java
Exercice
H I ©
Écrire une méthode maximum2(a, b) qui retourne le maximum entre
EL
a et b.
O U
f E LM
ch r e
©A
Java
Exercice
H I ©
Écrire une méthode maximum2(a, b) qui retourne le maximum entre
EL
a et b.
O U
f E LM
Exercice
ch r e
©A
Écrire une méthode maximum3(a, b, c) qui retourne le maximum
entre a, b et c (vous pouvez utiliser la méthode maximum2) .
Java
Exercice H I ©
UEL
O
LM
Écrire une méthode qui permet de déterminer si un nombre passé en
r e f E
paramètre est premier. La méthode retourne un booléen.
ch
©A
Java
Déclaration de méthode avec un nombre indéterminé de paramètres (varargs)
public static int somme(int... tab) {
int res = 0;
for (int elt : tab)
res += elt;
return res;
H I ©
EL
}
O U
f E LM
ch r e
©A
Java
Déclaration de méthode avec un nombre indéterminé de paramètres (varargs)
public static int somme(int... tab) {
int res = 0;
for (int elt : tab)
res += elt;
return res;
H I ©
EL
}
O U
f E LM
Exemple d’appel
r e
// affiche ©
2 Ach
System.out.println(somme(2));
System.out.println(somme(2, 3));
// affiche 5
System.out.println(somme(2, 3, 5));
// affiche 10
System.out.println(somme(2, 3, 5, 9));
// affiche 19
Java
Remarques
H I ©
varargs est disponible depuis Java 5
UEL
O
f E LM
On ne peut avoir qu’un seul varargs par méthode
r e
Le paramètre varargs doit être le dernier dans la liste de
ch
©A
paramètres d’une méthode
Java
Exercice 1
H I ©
UEL
O
Écrire une méthode qui accepte un nombre variable de paramètre de
f E LM
type String et qui retourne la chaı̂ne la plus longue (ayant le plus
grand nombre de caractères).
ch r e
©A
Java
Exercice 2
estDivisiblePar(10, 2, 5));
// true
Java
Remarques
H I ©
U
Comme Java supporte la surcharge de méthodesEL
Pas de paramètres optionnelsL MO
e E
f pour
Pas de valeur parhdréfaut
A c les paramètres
©