Académique Documents
Professionnel Documents
Culture Documents
Chapitre 2
Chapitre 2
l Objectifs
- Etre capable d’écrire des programmes simples en Java
- Etre capable d’utiliser les instructions d’entrées/sorties
- Devenir familier avec les types de données primitifs
- Comprendre les concepts de base de la mémoire
- Etre capable d’utiliser les opérateurs arithmétiques, relationnels et logiques
- Comprendre la précédence des opérateurs
- Utiliser la documentation
l Sommaire
- Introduction - Va r i a b l e s , C o n s t a n t e s ,
Tableaux
- Premier programme en Java
- Opérateurs
- Compiler et exécuter un programme Java
- Utiliser la documentation
- Affichage de plusieurs lignes de texte
- Affichage dans une boite de dialogue
- Saisie et Affichage
© Karim Bouzoubaa 1
2.1 Introduction
© Karim Bouzoubaa 2
2.2 Premier prog en Java : afficher une ligne de texte
© Karim Bouzoubaa 3
2.2 Premier prog en Java : afficher une ligne de texte
© Karim Bouzoubaa 4
2.2 Premier prog en Java : afficher une ligne de texte
l Commentaires
- Un commentaire qui commence par le symbole // et
finit à la ligne est appelé commentaire simple ligne
l Améliorer la lisibilité des programmes
l Un commentaire ne cause l’ordinateur à
l’exécution d’aucune action
- Java ignore les commentaires
l Commentaire à lignes multiples
/* Ceci est
un commentaire
à lignes multiples */
© Karim Bouzoubaa 5
2.2 Premier prog en Java : afficher une ligne de texte
4. public class Premier {
© Karim Bouzoubaa 6
2.2 Premier prog en Java : afficher une ligne de texte
© Karim Bouzoubaa 7
2.3 Compiler et exécuter un programme Java
l Deux étapes
1. Compiler : javac Premier.java (Si pas d’erreurs, génération de Premier.class)
!
Figure 2.5 - Exécution du programme Premier sur une console Linux
Nous remarquerons que le fichier testé a été enregistré dans le répertoire bin de
afin d'être capable d'appeler les commandes javac et java qui se trouvent s
© Karim Bouzoubaa 8
2.4 Affichage de plusieurs lignes de texte
© Karim Bouzoubaa 9
2.4 Affichage de plusieurs lignes de texte
© Karim Bouzoubaa 10
2.4 Affichage de plusieurs lignes de texte
© Karim Bouzoubaa 11
2.4 Affichage de plusieurs lignes de texte
8 System.out.println("Mon ");
© Karim Bouzoubaa 12
2.4 Affichage de plusieurs lignes de texte
© Karim Bouzoubaa 13
2.5 Affichage dans une boite de dialogue
© Karim Bouzoubaa 14
2.5 Affichage dans une boite de dialogue
© Karim Bouzoubaa 15
2.5 Affichage dans une boite de dialogue
© Karim Bouzoubaa 16
2.5 Affichage dans une boite de dialogue
1. // prog 2.3: BoiteDialogue.java
2. // Un programme en Java qui affiche un message dans une
3. // boite de dialogue
4. …
5. // importer la classe JOptionPane
6. …
l commentaires
6. import javax.swing.JOptionPane;
l Dans Java, pour appeler une librairie, utiliser le mot clé import
l Cette instruction permet d’importer la classe JOptionPane du package
javax.swing
© Karim Bouzoubaa 17
2.5 Affichage dans une boite de dialogue
11. public static void main(String args[]) {
13. System.exit(0);
© Karim Bouzoubaa 18
2.5 Affichage dans une boite de dialogue
Bouton de validation
© Karim Bouzoubaa 19
2.6 Saisie et Affichage
© Karim Bouzoubaa 20
2.6 Saisie et Affichage
© Karim Bouzoubaa 21
2.6 Saisie et Affichage – version 1
1. // prog 2.4: Carre.java
2. // Un programme Java qui calcule le carré d’un nombre
3.
4. // importer la classe Scanner
5. import java.util.Scanner ;
6.
7. public class Carre {
8.
9. // Méthode main commence l’exécution d’un programme Java
10. public static void main(String args[]) {
11.
12. Scanner entree;
13. int nombre; // le nombre entier
14. int carre; // le carré à afficher
15.
16. System.out.print("Donner un nombre : ");
17. entree = new Scanner(System.in) ;
18. nombre = entree.nextInt() ;
19. carre = nombre * nombre ;
20. System.out.print("Le carré du nombre est : " + carre);
21.
22. } // Fin de la méthode main
23.
24. } // Fin de la classe Carre
© Karim Bouzoubaa 22
2.6 Saisie et Affichage – version 1
5. import java.util.Scanner ;
© Karim Bouzoubaa 23
2.6 Saisie et Affichage – version 1
12. Scanner entree;
13. int nombre;
14. int carre;
l Pour récupérer la valeur du nombre dont on veut calculer le carré, nous devons
utiliser des variables
l Une variable
- est une case de la mémoire de l’ordinateur
- est d’un certain type
l entier : 6, 0, -4, 99, -458
l réel : 3.5, 56.1, -5.451
l caractère : ‘b’, ‘m’, ‘a’
l etc
- prend des valeurs (selon le type)
l il faut la déclarer toutes les variables utilisées dans le programme
- spécifier son nom
- spécifier son type
l Dans le programme, 3 variables sont déclarées : entree, nombre et carre
- chaque déclaration finit par le symbole ‘;’
- entree est de type Scanner,
- nombre et carre sont de type int (entières)
© Karim Bouzoubaa 24
2.6 Saisie et Affichage – version 1
16. System.out.print("Donner un nombre : ");
© Karim Bouzoubaa 25
2.6 Saisie et Affichage – version 1
19. carre = nombre * nombre ;
© Karim Bouzoubaa 26
2.6 Saisie et Affichage – version 2
1. // prog 2.5: CarreGraphique.java
2. // Un programme Java qui calcule le carré d’un nombre
3.
4. // importer la classe JOptionPane
5. import javax.swing.JOptionPane ;
6.
7. public class CarreGraphique {
8.
9. // Méthode main commence l’exécution d’un programme Java
10. public static void main(String args[]) {
11.
12. String nombreChaine; // chaine saisie par l’utilisateur
13. int nombre; // le nombre entier
14. int carre; // le carré à afficher
15.
16. nombreChaine = JOptionPane.showInputDialog("Donner un nombre");
17. nombre = Integer.parseInt(nombreChaine) ;
18. carre = nombre * nombre ;
19. JOptionPane.showMessageDialog(null,"Le carré du nombre est : " +
20. carre, "Résultat", JOptionPane.PLAIN_MESSAGE);
21. System.exit(0);
22.
23. } // Fin de la méthode main
24.
25. } // Fin de la classe CarreGraphique
© Karim Bouzoubaa 27
2.6 Saisie et Affichage – version 2
5. import javax.swing.JOptionPane ;
l Cette instruction permet d’importer la classe JOptionPane du package
javaw.swing
© Karim Bouzoubaa 28
2.6 Saisie et Affichage – version 2
16. nombreChaine = JOptionPane.showInputDialog("Donner un nombre");
© Karim Bouzoubaa 29
2.6 Saisie et Affichage – version 2
17. nombre = Integer.parseInt(nombreChaine) ;
© Karim Bouzoubaa 30
2.6 Saisie et Affichage – version 2
19. JOptionPane.showMessageDialog(null,"Le carré du nombre est : " + carre,
"Résultat", JOptionPane.PLAIN_MESSAGE);
© Karim Bouzoubaa 31
2.7 Variables
© Karim Bouzoubaa 32
2.7 Variables - Le nom
- Conditions
l Correct : x, x1, som, moy_1, _x
l Non correct : 1x, x-y, x!
- Conventions
l Commencer une variable par une minuscule (e.g. nombre)
l Si le nom de la variable est composé (de plusieurs mots), commencer chaque nouveau mot
par une majuscule (e.g. monPremierNombre).
© Karim Bouzoubaa 33
2.7 Variables - Le type et la taille
l Le type d’une variable permet de connaître
- sa taille en mémoire (en octets),
- l’ensemble des valeurs possibles
- les opérations que cette variable est susceptible de subir.
l Types simples et types composés:
- Un type est simple lorsque ses valeurs ne sont pas décomposables en constituants
plus simples. Quatre catégories:
1. Types entiers : byte, short, int et long qui correspondent aux nombres entiers positifs,
nuls ou négatifs
2. Types à virgule flottante : float et double qui représentent les nombres avec une précision
fractionnelle
3. Type caractère : char, qui représente les symboles dans un ensemble de caractères tels
que les lettres et les digits
4. Type booléen : boolean, qui permet de représenter les valeurs logiques
l La valeur par défaut pour byte, short, int, long, float, double = 0, char = 0.
l La valeur par défaut pour boolean = false
- Dans le cas contraire, un type est dit composé (sous forme de classes, voir chapitre
oritenté-objet).
© Karim Bouzoubaa 34
2.7 Variables - Le type et la taille
Nombre
Type Intervalle des valeurs
d’octets
byte 1 -128 .. 127 (-27 .. 27 – 1)
long 8 -9 223 372 036 854 775 808 .. -9 223 372 036 854 775 807 (-263 .. 263 – 1)
-3.4 028 234 663 852 886 E+38 .. -1.40 129 846 432 481 707 e-45
float 4 et
1.40 129 846 432 481 707 e-45 .. 3.4 028 234 663 852 886 E+38
-1.7 976 931 348 623 157 E+308 .. -4.94 065 645 841 246 544 e-324
double 8 et
4.94 065 645 841 246 544 e-324 .. 1.7 976 931 348 623 157 E+308
© Karim Bouzoubaa 35
2.8 Constantes
l Une constante est une donnée qui ne change de valeur durant tout le temps
d’exécution du programme.
l Comme la variable, une constante porte
- un nom,
- un type,
- une taille
- et une valeur
l Pour spécifier qu’une donnée est constante, utiliser le mot clé Java final
final double PI = 3.14 ;
l Les conventions d’écriture des constantes :
- Tous les caractères du nom de la constante sont majuscules (e.g. PI)
- Si le nom de la constante est composé (de plusieurs mots), séparer les mots par un
souligné ‘_’ (e.g. MA_CONSTANTE).
© Karim Bouzoubaa 36
2.9 Tableaux
tab[0] tab[1] tab[2] tab[3] tab[4]
6 5 -2 54 18
© Karim Bouzoubaa 37
2.9 Tableaux
tab[0] tab[1] tab[2] tab[3] tab[4]
6 5 -2 54 18
© Karim Bouzoubaa 38
2.9 Tableaux
l But du programme : 1. // prog 2.6.1: Tableau.java
2. // Un programme Java qui initialise les éléments d’un tableau
- Déclarer un 3. // et affiche un de ses éléments
tableau, 4.
5. // importer la classe JOptionPane
- l’initialiser 6. import javax.swing.JOptionPane ;
7.
- afficher un de 8. public class Tableau {
ses éléments.
9.
10. // Méthode main commence l’exécution d’un programme Java
11. public static void main(String args[]) {
12.
13. int tab[]; // tableau d’entiers
14. String indiceChaine; // chaine saisie par l’utilisateur
15. int indice; // le nombre entier
16.
17. tab = new int[5] ; // allocation en mémoire de 5 entiers
18. tab[0] = 6;
19. tab[1] = 5;
20. tab[2] = -2;
21. tab[3] = 54;
22. tab[4] = 18;
23. indiceChaine = JOptionPane.showInputDialog("Donner un indice");
24. indice= Integer.parseInt(indiceChaine) ;
25. JOptionPane.showMessageDialog(null,
26. "Le tableau à l’indice " + indice + " est : " + tab[indice-1]);
27. System.exit(0);
28.
29. } // Fin de la méthode main
30.
31. } // Fin de la classe Tableau
© Karim Bouzoubaa 39
2.9 Tableaux
13. int tab[];
14. String indiceChaine;
15. int indice;
© Karim Bouzoubaa 40
2.10 Opérateurs
l Les expressions sont utilisées dans beaucoup de programmes (Δ = b2 – 4ac)
l Expression = combinaison (variable, valeur, constante, méthode)
l La combinaison par utilisation d’opérateurs
l Exemple : est-ce que Δ est positif ou non
- Expression : (Math.pow(b, 2) – (4 * a * c)) > 0
l utilisation de variables a, b et c
l utilisation de la valeur 4
l appel à la méthode Math.pow
l opérateurs arithmétiques de soustraction ‘-‘ et de multiplication ‘*’
l opérateur relationnel ‘>’
© Karim Bouzoubaa 41
2.10 Opérateurs arithmétiques
Opérateur Opérateur arithmétique Expression algébrique Expression Java
Addition + a+b a+b
Soustraction - a–b a–b
Multiplication * ab a*b
a
Division / a/b
b
Modulo (Reste de la division) % a mod b a%b
(a + b)(c − d)
l
2
devient ((a + b) * (c – d)) / 2
© Karim Bouzoubaa 42
2.10 Opérateurs arithmétiques
• Évaluation de l’expression a + b * c – d
1 a = 1, b = 2, c = 4, d = 3
2 a+b*c-d
3 a+b*c-d
4 a+8-d
5 9-d
6 6
© Karim Bouzoubaa 43
2.10 Opérateurs arithmétiques – Incrémentation & Décrémentation
1. // prog 2.7: Incrementation.java
l i = i + 1; instruction qui 2. // Un programme Java qui montre l’utilisation de l’incrémentation
revient très souvent dans 3.
les programmes 4.
5.
public class Incrementation {
© Karim Bouzoubaa 44
2.10 Opérateurs arithmétiques – Assignation
l Java fournit des opérateurs d’assignation pour réduire les expressions d’affectation
l Par exemple, l’expression x = x + 9 devient x += 9
l L’opérateur d’assignation d’addition += ajoute la valeur de l’expression de droite à la valeur
de la variable se trouvant à gauche de l’opérateur.
l De manière générale
- variable = variable opérateur expression (opérateur étant +, -, *, / et %)
- variable opérateur= expression
- Exemple, x = x * (5 / y) réduit à x *= 5 / y
© Karim Bouzoubaa 45
2.10 Opérateurs relationnels
Opérateur Explication
== Egal
!= Non égal
> Supérieur
>= Supérieur ou égal
< Inférieur
<= Inférieur ou égal
© Karim Bouzoubaa 46
2.10 Opérateurs logiques
• Comment exprimer : x est dans l’intervalle [5, 10] ?
• En java, Il faut exprimer
– x est supérieur ou égale à 5 (x >= 5)
• et (conjonction logique)
– x est inférieur ou égal à 10 (x <= 10)
• En java, l’expression devient : (x >= 5) && (x <= 10)
Opérateur Explication
&& et logique
& et logique booléen
|| ou logique
| ou logique booléen inclusif
^ ou logique booléen exclusif
! non logique
© Karim Bouzoubaa 47
2.10 Opérateurs - Priorité
l La priorité entre tous les opérateurs. Ces derniers sont
listés de haut en bas dans un ordre décroissant de priorité
Opérateur
()
++ -- !
* / %
+ -
> >= < <=
== !=
&
^
|
&&
||
= += -= *= /= %=
© Karim Bouzoubaa 48
2.10 Opérateurs – Exemple récapitulatif
- a = 5, b = 2 , c = 3
© Karim Bouzoubaa 49
2.11 Documentation
© Karim Bouzoubaa 50
2.11 Documentation
© Karim Bouzoubaa 51
2.11 Documentation
Cadre des
packages
Cadre
principal
Cadre
des
classes
© Karim Bouzoubaa 52
2.11 Documentation
l Importance de l’index (e.g. méthode de tri sort)
© Karim Bouzoubaa 53