Exemples de Code Java et Syntaxe
Exemples de Code Java et Syntaxe
27
int
x
=
3;
Java - Dr A. Belangour 28
28
1
Les identificateurs
Chaque objet, classe, programme ou variable est
associé à un nom : un identificateur.
Java - Dr A. Belangour 29
29
Les commentaires
Ils sont sauté par le compilateur (pas de ‘;’ à la fin)
Java - Dr A. Belangour 30
30
2
Les variables
Une variable possède un nom, un type et une valeur.
Exemples :
int x, y, somme=0;
String nom;
Date dateNaissance;
Remarque :
Une variable n'est visible que dans le bloc ou elle est déclarée.
Java - Dr A. Belangour 31
31
Entiers
Type Désignation Longueur Valeurs
Java - Dr A. Belangour 32
32
3
Les types élémentaires
Réels
Type Désignation Longueur Valeurs
Autre
Type Désignation Longueur Valeurs Commentaires
Java - Dr A. Belangour 33
33
Java - Dr A. Belangour 34
34
4
Format des types élémentaires
Le format des nombres décimaux :
Les types float et double stockent des nombres flottants.
Java - Dr A. Belangour 35
35
Java - Dr A. Belangour 36
36
5
Format des types élémentaires
Le format des caractères :
Un caractère est codé sur 16 bits car il est conforme à la
norme Unicode.
Java - Dr A. Belangour 37
37
Extrait de l'exécution :
…
ا: 1575
ب: 1576
ة: 1577
ت: 1578
ث: 1579
ج: 1580
ح: 1581
…
Java - Dr A. Belangour 38
38
6
Format des types élémentaires
Exemple 3 :
char lettre= 'D';
int diff= lettre - 'A';
[Link](" différence = " + diff);
Résultat : différence = 3
Java - Dr A. Belangour 39
39
Java - Dr A. Belangour 40
40
7
Les chaînes de caractères
Quelques méthodes:
int compareTo(String chaine2) : Compare deux chaines
alphabetiquement.
Si le résultat < 0 : notre chaine précède chaine2
41
Guillemet : \"
Anti-slash : \\
Tabulation : \t
retour chariot : \r
42
8
Les opérateurs
Les opérateurs arithmétiques se notent :
+ (addition)
- (soustraction)
* (multiplication)
/ (division)
% (reste de la division)
Java - Dr A. Belangour 43
43
L’affectation
le signe = est l'opérateur d'affectation et s'utilise avec une
expression de la forme variable = expression.
*= a*=10 a = a * 10
/= a/=10 a = a / 10
^= a^=10 a = a ^ 10
Java - Dr A. Belangour 44
44
9
Les comparaisons
== (égalité) Exemple : a ? b : c
équivalent à : si a alors b
!= (diffèrent de )
sinon c
&& (ET logique)
Remarque : b et c doivent
|| (OU logique) retourner le même type
! (Négation)
Java - Dr A. Belangour 45
45
Les comparaisons
Priorités des opérateurs du plus au moins prioritaire :
1) les parenthèses : ( )
2) les opérateurs d'incrémentation : ++ , --
3) les opérateurs de multiplication, division, et modulo :*, / , %
4) les opérateurs d'addition et soustraction :+, -
5) les opérateurs de décalage : << et >>
6) les opérateurs de comparaison : < , >,<=,>=
7) les opérateurs d'égalité : ==, !=
8) l'opérateur OU exclusif : ^
9) l'opérateur ET : &
10) l'opérateur OU : |
Java - Dr A. Belangour 46
46
10
Les comparaisons
11) l'opérateur ET logique : &&
12) l'opérateur OU logique : ||
13) les opérateurs d'assignement : =, += ,-=
Remarque 1:
Les parenthèses ayant une forte priorité, l'ordre d'interprétation
des opérateurs peut être modifié par des parenthèses.
Java - Dr A. Belangour 47
47
Les comparaisons
Remarque 2 :
L’opérateur == teste l’égalité entre les types primitifs
comme les entiers, réels,...
Exemple : int x,y;
….
if (x==y) {…..}
….
if ([Link](ch2)){….}
Java - Dr A. Belangour 48
48
11
Lecture & Ecriture des variables
Ecriture : [Link](expression)
Exemple : [Link](" le résultat est " + R)
Java - Dr A. Belangour 49
49
Java - Dr A. Belangour 50
50
12
Lecture & Ecriture des variables
Exemple:
import [Link];
[Link]("Entrez un entier:");
int n = [Link]();
Java - Dr A. Belangour 51
51
Exemple :
int x=12;
Java - Dr A. Belangour 52
52
13
Les opérations arithmétiques
L'arithmétique entière
conversion implicite vers le type int des types numériques
(promotion entière) pour renforcer la sécurité du code
Exemple :
short x= 5 , y = 15;
x = x + y ; //erreur à la compilation
Java - Dr A. Belangour 53
53
Java - Dr A. Belangour 54
54
14
Les opérations arithmétiques
il est nécessaire, pour régler le problème, d'utiliser
une conversion explicite ou cast :
x = (short) ( x + y );
Remarque :
La division par zéro pour les types entiers lève l'exception
ArithmeticException
Java - Dr A. Belangour 55
55
Solution:
/* test sur la division par zero de nombres entiers */
class test3 {
int valeur=10;
}
Java - Dr A. Belangour 56
56
15
Les opérations arithmétiques
L'arithmétique en virgule flottante
la division par zéro des float ou double, ne produit
pas d'exception mais une des 3 valeurs spéciales:
1. NaN (not a number : nombre non défini):
[Link] ou [Link]
Java - Dr A. Belangour 57
57
58
16
Les opérations arithmétiques
L'incrémentation et la décrémentation
Les opérateurs d'incrémentation et de
décrémentation sont : n++, ++n , n-- , --n
Exemple :
y=x++ y=x; x = x + 1;
y=++x x = x + 1; y=x;
Java - Dr A. Belangour 59
59
Java - Dr A. Belangour 60
60
17
Les opérations arithmétiques
Résultat:
Java - Dr A. Belangour 61
61
Java - Dr A. Belangour 62
62
18
Les structures de contrôles
Les boucles
Permettent de répéter un certain nombre
d’instructions un certain nombre de fois ou jusqu’à ce
qu’une condition soit réalisée.
do { …} while (condition)
Java - Dr A. Belangour 63
63
... ...
} while ( condition)
}
Java - Dr A. Belangour 64
64
19
Les structures de contrôles
Boucle FOR :
for ( initialisation; condition; modification) {
...
Exemple :
Java - Dr A. Belangour 65
65
Exemple :
public class TestForArray {
int[] t= {23,1,12,33,41,57,16,27,81,19};
Java - Dr A. Belangour 66
66
20
Les structures de contrôles
Se composent :
Du mot clé if
De l’opérateur ternaire
Java - Dr A. Belangour 67
67
Java - Dr A. Belangour 68
68
21
Les structures de contrôles
Remarque :
Il ne faut jamais déclarer une variable à l'intérieur d'une
boucle ou d'une condition !!
Java - Dr A. Belangour 69
69
Forme :
switch (expression)
default : ...
70
22
Les structures de contrôles
Exemple :
class SwitchDemo {
int mois;
//lecture mois
switch (mois) {
}
Java - Dr A. Belangour 71
71
Exemple :
Transformer l'exemple précédent pour indiquer la saison du
mois entré.
Java - Dr A. Belangour 72
72
23
Les structures de contrôles
switch (mois) {
case 12:
case 1:
case 2: [Link]("Hiver"); break;
case 3:
case 4:
case 5: [Link]("Printems"); break;
case 6:
case 7:
case 8: [Link]("Eté"); break;
case 9:
case 10:
case 11: [Link]("Automne"); break;
default: [Link]("Mois invalide");
}
Java - Dr A. Belangour 73
73
Les tableaux
Les tableaux sont des structures de données regroupant
plusieurs valeurs de même type.
Exemples de déclarations:
float[] notes = new float[3] // tableau de 3 réels
Remarque :
Une fois fixée, la taille d’un tableau ne peut changer.
Java - Dr A. Belangour 74
74
24
Les tableaux
Exemple d’affectation :
notes[0]=16 notes
0 1 2
notes[1]=14
16 14 18
notes[2]=18
Parcours :
Requière une boucle avec un seul indice de 0 jusqu’à
length-1
Java - Dr A. Belangour 75
75
76
25
Les tableaux
Les tableaux à deux dimensions sont déclarés comme
étant un tableau de tableaux.
Exemple : float[][] t = new float[3][3];
0 1 2
0 1 2
0
0 1 2 0 1 2 0 1 2
ou 1
2
Java - Dr A. Belangour 77
77
Les tableaux
Parcours :
Une première boucle pour parcourir les cases de la
première dimension (indice de 0 jusqu’à length-1)
Java - Dr A. Belangour 78
78
26
Les tableaux
import [Link];
public class Test {
public static void main(String[] args) {
Scanner s = new Scanner([Link]);
[Link](" Taille de la première dimension?");
int n = [Link](); //lecture de la taille de la 1ere dim
[Link](" Taille de la deuxième dimension ?");
int m = [Link](); //lecture de la taille de la 2eme dim
int[][] t = new int[n][m]; // déclaration et réservation
// parcours et remplissage du tableau
for (int i = 0; i < [Link]; i++) {
for (int j = 0; j < t[i].length; j++) {
[Link]("Entrer Element " + i + " , "+ j + " : ");
t[i][j] = [Link]();
}
}
Java - Dr A. Belangour 79
79
Les tableaux
// parcours et affichage du contenu du tableau
[Link](" Affichage du contenu du tableau");
for (int i = 0; i < [Link]; i++) {
for (int j = 0; j < t[i].length; j++) {
[Link]("t["+i+"]["+j+"] = "+ t[i][j]);
}
}
} // fin main
}//fin classe
Java - Dr A. Belangour 80
80
27
Les tableaux
Remarque :
La taille des tableaux de la seconde dimension peut ne pas
être identique pour chaque occurrence.
Exemple :
int[][] t= new int[3][];
Java - Dr A. Belangour 81
81
Les tableaux
Chaque élément du tableau est initialisé selon son type
par l'instruction new :
0 pour les numériques,
'\0' pour les caractères,
false pour les booléens et
null pour les chaînes de caractères et les autres objets.
L'initialisation explicite d'un tableau. Exemple :
int[] tableau = {10,20,30,40,50};
Java - Dr A. Belangour 82
82
28
Les tableaux
Exemple de déclaration de tableaux dans une méthode :
En paramètre : public void afficher(int[] t){ ... }
Remarque :
Les tableaux sont toujours transmis par référence puisque
ce sont des objets.
Java - Dr A. Belangour 83
83
Java - Dr A. Belangour 84
84
29
Les conversions de types
La bibliothèque de classes API fournit une série de
classes qui contiennent des méthodes de manipulation
et de conversion de types élémentaires :
String : pour les chaines de caractères Unicode
Java - Dr A. Belangour 85
85
Exemple :
String ch="10";
int x=[Link](ch)
Java - Dr A. Belangour 86
86
30
Les conversions de types
Remarque :
L’instruction de conversion doit être obligatoirement être
mise dans un bloc try/catch
Exemple :
try {
x=[Link](ch);
catch (Exception e) {
Java - Dr A. Belangour 87
87
Exemple :
int x=10;
String ch=""+x;
Exemple :
int i = 10;
montexte =[Link](i);
Java - Dr A. Belangour 88
88
31
Les méthodes
Une méthode est un sous-programme qui permet
d'effectuer une tâche.
Un type de retour
Un nom
En ensemble de paramètres
Java - Dr A. Belangour 89
89
Les méthodes
Une méthode retourne le résultat grâce à return
Exemple 1:
90
32
Les méthodes
Si la méthode ne retourne rien, alors on utilise void.
Exemple 2:
91
Les méthodes
Remarque : Il est possible d'inclure une
instruction return dans une méthode de type void :
cela permet de quitter la méthode.
Java - Dr A. Belangour 92
92
33
Les méthodes
Si la méthode retourne un tableau alors les [] peuvent
être précisés après le type de retour ou après la liste
des paramètres.
Exemple:
int[] valeurs() { ... }
Java - Dr A. Belangour 93
93
Les méthodes
Il est possible de passer un nombre non défini
d'arguments d'un même type à une méthode sans les
mettre dans un tableau ou une collection.
Exemple :
public class Arguments {
int s= 0;
return s;
Java - Dr A. Belangour 94
94
34
Les méthodes : arguments variables
public static void main(String[] args) {
Java - Dr A. Belangour 95
95
La méthode main
Une classe contenant la méthode main() constitue le
point d’entrée pour une application
Java - Dr A. Belangour 96
96
35
La méthode main
Exemple :
Faire un programme qui calcule la moyenne de notes
fournies en ligne de commande.
Remarque:
Pour exécuter cet exemple , il faut se mettre en mode
commande (ms dos)
Java - Dr A. Belangour 97
97
La méthode main
Solution :
Java - Dr A. Belangour 98
98
36
Les énumérations
Lorsqu’une variable varie dans un ensemble de
valeurs prédéfinis, il faut créer un type énumération.
Exemple :
public enum Jours { LUNDI, MARDI, MERCREDI, JEUDI,
VENDREDI, SAMEDI, DIMANCHE }
99
100
37