1 coursJavaIntroduction
1 coursJavaIntroduction
Java 1 / 90
References
Java 2 / 90
Plan
1 Introduction
2 Avant de commencer
4 Variables
Typage statique
Typage dynamique
Java 3 / 90
Plan
8 Tableaux
9 Constantes
10 Méthodes
Java 4 / 90
Introduction
Java
Java ?
langage de programmation
orienté objet
fortement typé
M
syntaxe très proche OCU(procédural) et C++ (procédural, oriente
du
objet)
©
Java 4 / 90
Introduction
Java
Java ?
langage de programmation
orienté objet
fortement typé
M
syntaxe très proche OCU(procédural) et C++ (procédural, oriente
du
objet)
©
Attention
Java /= JavaScript
Java 4 / 90
Introduction
Java, pourquoi ?
Langage de haut niveau (pas de gestion de mémoire, pas d’allocation
dynamique, pas de pointeur... comme en C et C++)
HI©
Permettant de developper des programmes:
U
robustes
MO
©
sécurisés et fiables
bien structures et maintenables
portables : Windows, Mac OS, Linux (Write once, run everywhere ou écrire
une fois, exécuter partout)
...
Java 5 / 90
Introduction
Java
Java 6 / 90
Introduction
Java
Quelques versions de Java (les plus importantes)
Java 1 (sortie en 1996)
Java 4 (sortie en 2002, nommée Merlin) : expressions régulières + parser XML (JAXP)
I©
besoin de convertir les types wrappers en primitifs (et inversement)
U H
Java 6 (sortie en 2006, nommée Mustang) : JAX-WS (Web services REST)
MO
Java 7 (sortie en 2011, nommée Dolphin) : String dans switch
©
Java 8 (sortie en Mars 2014, nommée Spider) : interface fonctionnelle, méthode par
défaut, expression Lambda, MapReduce pour les collections
Java
Quelques versions de Java (les plus importantes)
Java 13 (sortie en Septembre 2019)
I©
Java 17 LTS (sortie en Septembre 2021)
H
U
MO
Java 18 (sortie en Mars 2022)
©
Java 19 (sortie en Septembre 2022)
Java 7 / 90
Introduction
Java
compiler JVM
MyClass.java MyClass.class MyClass
Java 8 / 90
Introduction
Java
De quoi on a besoin (le minimum) ?
H I©
Des librairies (JSE : Java Standard Edition, JEE : Java Enterprise
O U
Edition, JME Java Micro Edition, Swing, JDBC...)
M
Des commandes permettant la création, la compilation et
© d’un programme Java
l’exécution
javac : pour compiler
java : pour exécuter
javadoc : pour générer une documentation
jar : pour archiver
Java 9 / 90
Introduction
Introduction
JDK : téléchargement
https://www.oracle.com/java/technologies/javase/
jdk15-archive-downloads.html
Java 10 / 90
Introduction
Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {
©
System.out.print("Hello world from console");
}
}
compiler JVM
MyClass.java MyClass.class MyClass
Java 12 / 90
Introduction
Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {
©
System.out.print("Hello world from console");
}
}
compiler JVM
MyClass.java MyClass.class MyClass
javac MyClass.java
Java 12 / 90
Introduction
Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {
©
System.out.print("Hello world from console");
}
}
compiler JVM
MyClass.java MyClass.class MyClass
Java 12 / 90
Introduction
Java
Créons une classe MyClass dans un fichier MyClass.java
public class MyClass {
©
System.out.print("Hello world from console");
}
}
compiler JVM
MyClass.java MyClass.class MyClass
Java
Pour compiler
javac MyClass.java
Java 13 / 90
Introduction
Java
Pour compiler
javac MyClass.java
Java 13 / 90
Introduction
Java
Pour compiler
javac MyClass.java
Java 13 / 90
Introduction
Java
I©
car un IDE intègre un compilateur lancé meme pendant l’écriture
H
OU syntaxique, l’auto-complétion,
du code
Mcoloration
pour profiter de la
© automatique...
l’indentation
Java 14 / 90
Introduction
Java
Netbeans
I©
JDeveloper
U H
MO
IntelliJ IDEA
©
JBuilder
JCreator...
...
Java 15 / 90
Introduction
Java
Eclipse, pourquoi ?
open-source
Écrit en Java
multi-langage : Java, C++, PHP, Cobol, C#, JavaScript...
Java 16 / 90
Introduction
Introduction
Eclipse : téléchargement
https://www.eclipse.org/downloads/download.php?file=
/oomph/epp/2021-03/R/eclipse-inst-win64.exe
Java 17 / 90
Introduction
Introduction
Java 18 / 90
Introduction
Java
©
MOU HI
Java 19 / 90
Introduction
Java
©
MOU HI
Java 19 / 90
Avant de commencer
Java
Java 20 / 90
Avant de commencer
Java
Java 20 / 90
Avant de commencer
Java
Les instructions
Chaque instruction se termine par ;
I©
Il est possible d’écrire plusieurs instructions sur une même ligne
H
U
(mais ce n’est pas une bonne pratique)
MOle formatage et l’indentation du code avec le
Eclipse nous facilite
©CTRL + Shift + F
raccourci
Java 21 / 90
Avant de commencer
Java
©
Il est possible de créer deux classes avec le même nom dans
deux packages différents
Java 22 / 90
Premier projet Java
Java
Comment créer un projet sous Eclipse ?
Aller dans File > New > Java Project
Remplir le champ Project name: avec cours-introduction
puis cliquer sur Next
Décocher la case Create module-info.java file puis
cliquer sur Finish
Java 23 / 90
Premier projet Java
Java
Comment créer un projet sous Eclipse ?
Aller dans File > New > Java Project
Remplir le champ Project name: avec cours-introduction
puis cliquer sur Next
Décocher la case Create module-info.java file puis
cliquer sur Finish
Java 23 / 90
Premier projet Java
Java
Comment créer une classe ?
Aller dans File > New > Class
Dans Package, saisir org.eclipse.classes
I©
Cocher la case public static void main String[]args)
H
Cliquer sur Finish OU
M
©
Java 24 / 90
Premier projet Java
Java
Comment créer une classe ?
Aller dans File > New > Class
Dans Package, saisir org.eclipse.classes
I©
Cocher la case public static void main (String[]
H
args)
U
MO
Cliquer sur Finish
©
Remarque
Si on a un package, on peut le sélectionner au moment de la création
de la classe
Java 24 / 90
Premier projet Java
Java
Java 25 / 90
Premier projet Java
Java
} ©
}
Java 26 / 90
Premier projet Java
Java
Explication
En java, et contrairement a`plusieurs langages OO comme C++,
C#, PHP..., on ne peut écrire une instruction en dehors d’une
(méthode de) classe.
En java, un fichier contient une seule classe et une classe ne peut
H I ©
être déclarée dans plusieurs fichiers (contrairement a` C#)
O U org.eclipse.classes
La première ligne package nous
M
informe que la classe actuelle se situe dans
©
src/org/eclipse/classes dans un répertoire
cours-introduction situé dans le work-space d’Eclipse
Dans un projet Java, il faut qu’au moins une classe contienne la
méthode public static void main(String[] args) :
point d’entrée du projet
Java 27 / 90
Premier projet Java
Java
Les commentaires
Trois types de commentaires
Java 28 / 90
Premier projet Java
Java
Les commentaires
Trois types de commentaires
Commentaire mono-ligne
// ceci est un commentaire sur une seule ligne
Java 28 / 90
Premier projet Java
Java
Les commentaires
Trois types de commentaires
Commentaire mono-ligne
// ceci est un commentaire sur une seule ligne
Java 28 / 90
Premier projet Java
Java
Les commentaires
Trois types de commentaires
Commentaire mono-ligne
// ceci est un commentaire sur une seule ligne
Java
Pour afficher Hello World, on modifie la classe FirstClass
package org.eclipse.classes;
} MOU HI
}
Java
I©
Application
U H
Soit en faisant clic droit sur la classe contenant puclic static
MO
void main() (ici FirstClass) dans le panneau central et aller
©
dans Run As > Java Application
Java 30 / 90
Premier projet Java
Java
Java 31 / 90
Premier projet Java
Java
Java 31 / 90
Variables
Java
Une variable ?
Un pointeur vers une zone mémoire
Permettant de stocker une ou plusieurs données
Pouvant avoir plusieurs valeurs différentes dans un programme
Java 32 / 90
Variables
Java
Une variable ?
Un pointeur vers une zone mémoire
Permettant de stocker une ou plusieurs données
Pouvant avoir plusieurs valeurs différentes dans un programme
Java 32 / 90
Variables
Java
HI©
Dynamique : la variable est déclarée avec le mot-clé var et son
U
MO
type est dynamiquement déterminé a`partir de la valeur initiale.
[disponible depuis Java 11]
©
Java 33 / 90
Variables Typage statique
Java
Java 34 / 90
Variables Typage statique
Java
Java 34 / 90
Variables Typage statique
Java
Principaux types primitifs en Java
int : entier codé sur 4 octets (entre 2 147 483 648 et 2 147 483 647)
I©
long : entier codé sur 8 octets (entre -9 223 372 036 854 775 808 et +9 223 372
H
U
036 854 775 807)
octet)
Java 35 / 90
Variables Typage statique
Java
Principaux types primitifs en Java
int : entier codé sur 4 octets (entre 2 147 483 648 et 2 147 483 647)
I©
long : entier codé sur 8 octets (entre -9 223 372 036 854 775 808 et +9 223 372
H
U
036 854 775 807)
MOcodésur 4 octets
float : nombre a`virgule
Java
Exemple
int x;
Java 36 / 90
Variables Typagestatique
Java
Exemple
int x;
Java 36 / 90
Variables Typagestatique
Java
Exemple
int x;
Java 36 / 90
Variables Typage statique
Java
Exemple
int x;
Pour convertir le contenu d’une variable (le cast pour les types
compatibles)
int x = 100;
byte z = (byte) x;
System.out.println(z); // affiche 100
Java 36 / 90
Variables Typagestatique
Java
Java 37 / 90
Variables Typagestatique
Java
Java 38 / 90
Variables Typage statique
Java
double
Boolean pour
boolean Character
pour char
Java 38 / 90
Variables Typage statique
Java
Exemple d’utilisation d’une châıne de caractère
String string = new String();
string = "bonjour";
System.out.println(string); // affiche bonjour
©
Java 39 / 90
Variables Typage statique
Java
Exemple d’utilisation d’une châıne de caractère
String string = new String();
string = "bonjour";
System.out.println(string); // affiche bonjour
©
On peu aussi faire
String string = new String("bonjour");
System.out.println(string); // affiche bonjour
Java 39 / 90
Variables Typagestatique
Java
Exemple d’utilisation d’une châıne de caractère
String string = new String();
string = "bonjour";
System.out.println(string); // affiche bonjour
©
On peu aussi faire
String string = new String("bonjour");
System.out.println(string); // affiche bonjour
Ou encore
String string = "bonjour";
System.out.println(string); // affiche bonjour
Java 39 / 90
Variables Typage statique
Java
Exemple d’utilisation d’une châıne de caractère
String string = new String();
string = "bonjour";
System.out.println(string); // affiche bonjour
©
On peu aussi faire
String string = new String("bonjour");
System.out.println(string); // affiche bonjour
Ou encore
String string = "bonjour";
System.out.println(string); // affiche bonjour
Java
I©
Les types objets offrent plusieurs méthodes a`appliquer sur les
H
valeurs : conversion, nombre de caractère...
M
Toutes les classes OU contiennent une méthode
wrappers
©
(TypeObjet.parseTypeSimple(string)) qui permet de
convertir une chaine de caractère en type primitif de cette classe
Java 40 / 90
Variables Typage statique
Java
Quelques méthodes de la classe String
I©
charAt(i) : retourne le caractère d’indice i dans la châıne.
H
substring(i,j) : permetU
MOj - 1
d’extraire une sous-châıne de la châıne a` partir de
l’indice i jusqu’au l’indice
© : permet de comparer la châıne a` str et retourne true en
equals(str)
cas d’égalité, false sinon.
...
Java 41 / 90
Variables Typage statique
Java
Exemple : replace(old,new)
String string = "bonjour les bons jours";
String string2 = string.replace("jour", "soir");
System.out.println(string2); ©
// bonsoir les bons soirs
Java 42 / 90
Variables Typage statique
Java
Exemple : replace(old,new)
String string = "bonjour les bons jours";
String string2 = string.replace("jour", "soir");
System.out.println(string2); ©
// bonsoir les bons soirs
Exemple : indexOf(str,fromIndex)
String string = "bonjour les bons jours";
int pos = string.indexOf("bon", 5);
System.out.println(pos);
// affiche 12
Java 42 / 90
Variables Typage statique
Java
Exemple de conversion d’une châıne de caractère
String string = "2";
byte z = Byte.parseByte(string);
System.out.println(z); // affiche 2
Java 43 / 90
Variables Typage statique
Java
Exemple de conversion d’une châıne de caractère
String string = "2";
byte z = Byte.parseByte(string);
System.out.println(z); // affiche 2
Le résultat
Exception in thread "main" java.lang.
NumberFormatException: For input string: "a"
Java 43 / 90
Variables Typage statique
Java
Java 44 / 90
Variables Typage statique
Java
Quatre méthodes pour convertir int en String
int y = 3;
String chaine =((Integer) y).toString();
System.out.println(chaine); // affiche 3
int z = 4;
©
String str = Integer.toString(z);
System.out.println(str); // affiche 4MOU HI
int t = 5;
©
String s = String.valueOf(t);
System.out.println(s); // affiche 5
int u = 6;
String s = "" + u;
System.out.println(s); // affiche 6
Java 45 / 90
Variables Typage statique
Java
Java 46 / 90
Variables Typagestatique
Java
Pas besoin de convertir d’un type simple vers son wrapper (ou
inversement)
Integer j = 2;
int k = j;
System.out.println(k); // affiche 2 MOU HI
int l = 3;
©
Integer m = l;
System.out.println(m); // affiche 3
Java 47 / 90
Variables Typage dynamique
Java
Java 48 / 90
Variables Typage dynamique
Java
Remarque
Une variable déclarée avec le mot-clé var
Java 48 / 90
Variables Typage dynamique
Java
Exemple
var x = 10;
Java 49 / 90
Variables Typage dynamique
Java
Exemple
var x = 10;
©
x = "bonjour";
Java 49 / 90
Opérations sur les variables
Java
= : affectation
+ : addition
- : soustraction
HI©
* : multiplicationMO
U
©
/ : division
% : reste de la division
Java 50 / 90
Opérations sur les variables
Java
Quelques raccourcis
i = i + 1 ⇒ i++;
i = i - 1 ⇒ i--;
HI©
OU
i = i + 2 ⇒ i += 2;
i = i - 2 ⇒M
i -= 2;
...
©
Java 51 / 90
Opérations sur les variables
Java
Exemple de post-incrémentation
int i = 2;
int j = i++;
System.out.println(i); // affiche 3 ©
System.out.println(j); // affiche 2
Java 52 / 90
Opérations sur les variables
Java
Exemple de post-incrémentation
int i = 2;
int j = i++;
System.out.println(i); // affiche 3 ©
System.out.println(j); // affiche 2
Exemple de pre-incrémentation
int i = 2;
int j = ++i;
System.out.println(i); // affiche 3
System.out.println(j); // affiche 3
Java 52 / 90
Opérations sur les variables
Java
Java 53 / 90
Lecture d’une saisie
Java
Java 54 / 90
Lecture d’une saisie
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Java 55 / 90
Lecture d’une saisie
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Java 55 / 90
Lecture d’une saisie
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Java 55 / 90
Lecture d’une saisie
Java
Instancier la classe Scanner
Scanner scanner = new Scanner(System.in);
Fermer le scanner
scanner.close();
Java 55 / 90
Lecture d’une saisie
Java
Remarques
Java 56 / 90
Lecture d’une saisie
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); ©
// affiche bonjour
Java 57 / 90
Lecture d’une saisie
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); ©
// affiche bonjour
Java 57 / 90
Lecture d’une saisie
Java
À chaque appel a` next(), on récupère le token suivant
Scanner scanner = new Scanner(System.in);
// si on saisit "bonjour tout le monde"
String string = scanner.next();
String s = scanner.next(); ©
System.out.println(s);
// affiche tout
Java 58 / 90
Lecture d’une saisie
Java
À chaque appel à next(), on récupère le token suivant
Scanner scanner = new Scanner(System.in);
// si on saisit "bonjour tout le monde"
String string = scanner.next();
String s = scanner.next(); ©
System.out.println(s);
// affiche tout
Java
Java 59 / 90
Lecture d’une saisie
Java
HI©
Math.min(x,y) : retourne le min de x et y
U
MO la racine carré de x
Math.sqrt(x) : retourne
©
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 60 / 90
Lecture d’une saisie
Java
Java 61 / 90
Structures conditionnelles et itératives if
Java
Java 62 / 90
Structures conditionnelles et itératives if
Java
Exemple
var x = 3;
if (x >= 0) {
©
System.out.println(x + " est positif");
}
Java 62 / 90
Structures conditionnelles et itératives if
Java
Exemple
var x = 3;
if (x >= 0) {
©
System.out.println(x + " est positif");
}
Java 62 / 90
Structures conditionnelles et itératives if
Java
Opérateurs de comparaison
== : pour tester l’égalité
!= : pour tester l’inégalité
> : supérieur à
HI©
OU
< : inférieur à
>= : supérieur ouM égal à
©
<= : inférieur ou égal à
Java 63 / 90
Structures conditionnelles et itératives if
Java
Opérateurs de comparaison
== : pour tester l’égalité
!= : pour tester
l’inégalité
> : supérieur a`
HI©
U
< : inférieur a`
MO
©
>= : supérieur ou égal a`
<= : inférieur ou égal à
Java 63 / 90
Structures conditionnelles et itératives if ... else
Java
Exécuter un premier bloc si une condition est vraie, un deuxième sinon (le bloc else)
if (condition1) {
...
}
else {
}
...
©
Java 64 / 90
Structures conditionnelles et itératives if ... else
Java
Exécuter un premier bloc si une condition est vraie, un deuxième sinon (le bloc else)
if (condition1) {
...
}
else {
}
...
©
Exemple
var x = 3;
if (x > 0)
{ ©
System.out.println(x + " est strictement positif");
}
else
{
System.out.println(x + " est n´egatif ou nul");
}
Java 64 / 90
Structures conditionnelles et itératives if ... else if ... else
Java
On peut enchâıner les conditions avec else if (et avoir un
troisième bloc voire ... un nième)
if (condition1)
{
... ©
}
else if (condition2)
{ MOU HI
...
}
... ©
else
{
...
}
Java 65 / 90
Structures conditionnelles et itératives if ... else if ... else
Java
Exemple
var x = -3;
if (x > 0)
{
System.out.println(x + " est strictement positif");
©
}
else if (x < 0)
{
MOU HI
System.out.println(x + " est strictement n´egatif");
©
}
else
{
System.out.println(x + " est nul");
}
Java 66 / 90
Structures conditionnelles et itératives if ... else if ... else
Java
Opérateurs logiques
&& : et
|| : ou
! : non
Java 67 / 90
Structures conditionnelles et itératives if ... else if ... else
Java
Opérateurs logiques
&& : et
|| : ou
! : non
Java 67 / 90
Structures conditionnelles et itératives switch
Java
Java 68 / 90
Structures conditionnelles et itératives switch
Java
Remarques
Le switch permet seulement de tester l’égalité
Le break permet de quitter le switch une fois un bloc case
exécuté
H I©
U
MO plusieurs case
Il est possible de regrouper
Le bloc ©default est facultatif, il sera exécutési la valeur de la
variable ne correspond a`aucune constante de case
Java 69 / 90
Structures conditionnelles et itératives switch
Java
Structure conditionnelle avec switch
int x = 5;
switch (x) {
case 1:
System.out.println("un"); ©
break;
case 2:
System.out.println("deux"); MOU HI
break;
case 3:
©
System.out.println("trois");
break;
default:
System.out.println("autre");
}
Java 70 / 90
Structures conditionnelles et itératives switch
Java
Un multi-case pour un seul traitement
var x = 5;
switch (x) {
case 1:
case 2:
System.out.println("un ou deux");
©
break;
case 3:
System.out.println("trois"); MOU HI
break;
case 4:
case 5: ©
System.out.println("quatre ou cinq");
break;
default:
System.out.println("autre");
}
Java 71 / 90
Structures conditionnelles et itératives switch
Java
I©
de type wrappers correspondants : Integer, Short, Byte et
Character
U H
MO
de type énumération depuis Java 6
de type©châıne de caractère depuis Java 7
Java 72 / 90
Structures conditionnelles et itératives switch
Java
Si on supprime un break
String x = "2";
switch (x) {
case "1":
System.out.println("un"); ©
break;
case "2":
System.out.println("deux");
MOU HI
case "3":
©
System.out.println("trois");
break;
default:
System.out.println("autre");
}
// affiche deux trois
Java 73 / 90
Structures conditionnelles et itératives Expression ternaire
Java
Java 74 / 90
Structures conditionnelles et itératives while
Java
Java 75 / 90
Structures conditionnelles et itératives while
Java
Attention aux boucles infinies, vérifier que la condition d’arrêt sera bien
atteinte après un certain nombre d’itérations.
Java 75 / 90
Structures conditionnelles et itératives while
Java
Exemple
var i = 0;
while (i < 5) {
System.out.println(i);
i++; ©
}
Java 76 / 90
Structures conditionnelles et itératives while
Java
Exemple
var i = 0;
while (i < 5) {
System.out.println(i);
i++; ©
}
Le résultat est
0
1
2
3
4
Java 76 / 90
Structures conditionnelles et itératives do ... while
Java
}
...
MOU HI
while (condition[s]);
Java 77 / 90
Structures conditionnelles et itératives do ... while
Java
}
...
MOU HI
while (condition[s]);
Attention aux boucles infinies, vérifier que la condition d’arrêt sera bien
atteinte après un certain nombre d’itérations.
Java 77 / 90
Structures conditionnelles et itératives do ... while
Java
Exemple
var i = 0;
do {
System.out.println(i);
i++; ©
} while (i < 5);
Java 78 / 90
Structures conditionnelles et itératives do ... while
Java
Exemple
var i = 0;
do {
System.out.println(i);
i++; ©
} while (i < 5);
Le résultat est
0
1
2
3
4
Java 78 / 90
Structures conditionnelles et itératives for
Java
Boucle for
for (initialisation; condition[s]; incrementation) {
...
}
Java 79 / 90
Structures conditionnelles et itératives for
Java
Boucle for
for (initialisation; condition[s]; incrementation) {
...
}
Java 79 / 90
Structures conditionnelles et itératives for
Java
Exemple
for (var i = 0; i < 5; i++) {
System.out.println(i);
} ©
Java 80 / 90
Structures conditionnelles et itératives for
Java
Exemple
for (var i = 0; i < 5; i++) {
System.out.println(i);
} ©
Le résultat est
0
1 ©
2
3
4
Java 80 / 90
Structures conditionnelles et itératives for
Java
Exercice
écrire un code Java qui permet d’afficher les nombres pairs compris entre 0 et 10.
Java 81 / 90
Structures conditionnelles et itératives for
Java
Exercice
écrire un code Java qui permet d’afficher les nombres pairs compris entre 0 et 10.
Première solution
for (var i = 0; i < 10; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
Java 81 / 90
Structures conditionnelles et itératives for
Java
Exercice
écrire un code Java qui permet d’afficher les nombres pairs compris entre 0 et 10.
Première solution
for (var i = 0; i < 10; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
Deuxième solution
for (var i = 0; i < 10; i += 2) {
System.out.println(i);
}
Java 81 / 90
Tableaux
Java
Java 82 / 90
Tableaux
Java
Touslesélémentsdoiventavoirlemêmetype
Il faut préciser une taille qu’on ne peut dépasser
Java 82 / 90
Tableaux
Java
Touslesélémentsdoiventavoirlemêmetype
Il faut préciser une taille qu’on ne peut dépasser
Java 82 / 90
Tableaux
Java
Affectation de valeurs aux cases de tableau
tab[0] = 5;
tab[1] = 3;
Java 83 / 90
Tableaux
Java
Affectation de valeurs aux cases de tableau
tab[0] = 5;
tab[1] = 3;
L’exception
Exception in thread "main" java.lang.
ArrayIndexOutOfBoundsException: 2
at org.eclipse.classes.FirstClass.main(
FirstClass.java:11)
Java 83 / 90
Tableaux
Java
Java 84 / 90
Tableaux
Java
L’exception
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at org.eclipse.classes.FirstClass.main(FirstClass.java:11)
Java 84 / 90
Tableaux
Java
}
System.out.println(tab[i]); ©
Java 85 / 90
Tableaux
Java
}
System.out.println(tab[i]); ©
Java 85 / 90
Constantes
Java
Une constante
Java 86 / 90
Constantes
Java
Une constante
Java 86 / 90
Constantes
Java
Une constante
Java 86 / 90
Constantes
Java
Une constante
Java 86 / 90
Méthodes
Java
Une méthode
Java 87 / 90
Méthodes
Java
Une méthode
Java 87 / 90
Méthodes
Java
Une méthode
Java 87 / 90
Méthodes
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;
}
Java 88 / 90
Méthodes
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;
}
Exemple d’appel
©
System.out.println(somme(2));
// affiche 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 88 / 90
Méthodes
Java
Remarques
varargs est disponible depuis Java 5.
H I©
On ne peut avoir qu’un seul varargs par méthode
M OU
Le paramètre varargs doit être le dernier dans la liste de
©
paramètres d’une méthode
Java 89 / 90
Méthodes
Java
Remarques
Comme Java supporte la surcharge de méthodes
H
Pas de paramètres optionnelsI©
Pas de valeur parM OUpour les paramètres
défaut
©
Java 90 / 90