Académique Documents
Professionnel Documents
Culture Documents
madani.a@ucd.ac.ma
madani.a@ucd.ac.ma 1
Plan
I. Les bases du langage Java
II. Programmation Orientée Objet
III.Chaînes de caractères, tableaux et
collections
IV. Gestion des exceptions
V. Accès aux données d’une base de données
: JDBC
madani.a@ucd.ac.ma 2
Langage Java
madani.a@ucd.ac.ma 3
Langage informatique
Un langage informatique est un outil permettant de
donner des instructions (ordres) à la machine
À chaque instruction correspond une instruction du
processeur
Intérêt : écrire des programmes (suite consécutives
d’instructions) destinés à effectuer une tâche donnée
Exemple : un programme de gestion scolaire
Contrainte : être compréhensible par la machine
Besoin d’un langage de programmation
madani.a@ucd.ac.ma 4
Langage informatique
Langage machine :
Le seul langage compréhensible par la machine
Langage binaire : l’information est exprimée et
manipulée sous forme d’une suite de bits
Un bit (binary digit) = 0 ou 1 (2 états)
Une combinaison de 8 bits = 1 octet
Les opérateurs logiques et arithmétiques de base (+,
-, …) sont effectuées en binaire
Inconvénient : Difficile à comprendre par les humains
madani.a@ucd.ac.ma 5
Langage informatique
L’assembleur
Exprime les instructions de façon symboliques
ADD A, 4 traducteur
LOAD B langage machine
MOV A, OUT
Avantage : plus accessible
Inconvénients :
Dépend du processeur (n’est pas portable)
Pas assez efficace pour développer des
applications complexes
madani.a@ucd.ac.ma 6
Langage informatique
Langages de haut niveau
Exemples : Fortran, Pascal, C, C++, Java, …
Proches du langage humain (anglais,
compréhensible)
Permet une grande portabilité (indépendant du
matériel)
Manipulation de données et d’expressions complexes
(réels, entier, texte, objets, …)
Nécessité d’un traducteur
(compilateur/interpréteur)exécution plus ou moins
lente
madani.a@ucd.ac.ma 7
Compilateur
Compilateur : traduit le programme entier une
fois pour toute
Avantages :
Plus rapide à l’exécution
Sécurité du code source
Inconvénient :
Il faut recompiler à chaque modification
madani.a@ucd.ac.ma 8
Interpréteur
Interpréteur : traduit au fur et à mesure les
instructions du programme à chaque exécution
Avantage :
Exécution instantanée appréciable par les
débutants
Inconvénient :
Exécution lente par rapport à la compilation
madani.a@ucd.ac.ma 9
La notion de machine virtuelle
- Machine virtuelle -
Avantages
Portabilité
Souplesse
Inconvénient
lenteur
madani.a@ucd.ac.ma 10
Caractéristiques de Java
madani.a@ucd.ac.ma 11
Mode de compilation de Java
Code source
Compilation
Byte Code
Interprétation par
La JVM en mode byte code
(Traduit en code machine
et exécute instruction par
Instruction )
madani.a@ucd.ac.ma 12
Outils pour développer
Un Editeur de texte ASCII: on peut utiliser un simple
éditeur comme edit de Dos ou notepad de windows
mais il est préférable d’utiliser un éditeur conçu pour
la programmation java exemples: Ultraedit, JCreator
….
Environnement de développement intégré : On peut
également utiliser des environnement visuels et
graphiques qui simplifient énormément la tâche du
programmeur. Exemples : Visual Café, Jbuilder, etc…
Pour tester les applets java, vous aurez besoin d ’un
navigateur web ex. Internet Explorer ou Netscape.
Sinon, vous pouvez utiliser Appletviewer.exe du JDK.
madani.a@ucd.ac.ma 13
Premier programme java
//Mon premier programme Java:test.java
class test {
public static void main(String[] arg){
System.out.println("Ca marche !");
}
}
madani.a@ucd.ac.ma 14
Les primitives
Java dispose des primitives (types) suivantes :
Primitive Taille
char 16 bits
byte 8 bits
short 16 bits
int 32 bits
long 64 bits
float 32 bits
double 64 bits
boolean 1 bit
void - 0 bit
madani.a@ucd.ac.ma 15
Utilisation des primitives
Les primitives sont utilisées de façon très
simple. Elles doivent être déclarées, par
exemple :
int i;
char c;
double v;
boolean fini;
les primitives peuvent être initialisées en
même temps que la déclaration.
int i = 12;
char c = ‘a’;
v = 23456.3456;
boolean fini = true;
madani.a@ucd.ac.ma 16
Utilisation des primitives
Remarque (Valeurs par défaut des
primitives)
Toutes les primitives de type numérique
sont initialisées à la valeur 0.
Le type boolean est initialisé à la valeur
false.
madani.a@ucd.ac.ma 17
Conversion de types
En java, on dispose de trois types de
conversions :
Conversion implicite
Conversion explicite (cast)
Conversion en utilisant des méthodes
madani.a@ucd.ac.ma 18
Conversion implicite de types
On peut faire une conversion d’une manière
implicite.
Exemples :
int a=6;//le type int est codé sur
32 bits
long b=a; //le type long est codé
sur 64 bits
Dans cet exemple, le sur-casting se
fait implicitement
madani.a@ucd.ac.ma 19
Conversion implicite de types
Conversion implicite est aussi appelé
conversion élargissante (pas de perte
d’information). Elle permet de passer
de :
byte : short, int, long, float, double
short: int, long, float, double
char : int, long, float, double
int : long, float, double
long : float, double
float : double
madani.a@ucd.ac.ma 20
Conversion explicite de types
Un casting explicite peut être effectué
simplement en faisant précéder la
valeur par l'indication du nouveau
type entre parenthèses.
Exemples :
double d=97.564;
float f=(float)d;
int i=(int)f;
madani.a@ucd.ac.ma 21
Conversion explicite de types
Cette conversion est appelée aussi
conversion rétrécissante (perte
d’informations)
byte: char
short: char, byte
char: short, byte
int: char, short, byte
long: int, char, short, byte
float: long, int, char, short, byte
double: float, long, int, char, short, byte
madani.a@ucd.ac.ma 22
Opérateurs
Opérateur d ’affectation:
• x=3;
• x=y=z=w+5;
• pour la comparaison ( if (x = = 5) )
• D’autres opérateurs combinés :+=, -=, *=, /=, %=, ^=,
<<=, >>=
Les opérateurs arithmétiques à deux opérandes
Les opérateurs arithmétiques à deux opérandes sont les suivants :
• + addition
• - soustraction
• * multiplication
• / division
• % modulo (reste de la division)
madani.a@ucd.ac.ma 23
Opérateurs
madani.a@ucd.ac.ma 24
Opérateurs
madani.a@ucd.ac.ma 25
Opérateurs par priorité
Opérateurs unaires ++exp,--exp,+exp,-exp, !
Multiplicatifs *, /, %
Additifs +, -
Relationnels <, <=, >, >=
Égalité ==, !=
Et logique &&
Ou logique ||
affectation =, +=, -=, *=, /=, %=
madani.a@ucd.ac.ma 26
Opérateurs
Les opérateurs les plus prioritaires
sont évalués en premier
Deux opérateurs de même priorité
sont évalués de gauche à droite, à
l’exception des opérateurs
d’affectation qui sont évalués de
droite à gauche
madani.a@ucd.ac.ma 27
Structures de contrôle
L'instruction conditionnelle if
if (expression) instruction;
ou :
if (expression) {
instruction1;
instruction2;
}
L'instruction conditionnelle else
if (expression) {
instruction1;
}else {
instruction2;
} madani.a@ucd.ac.ma 28
Structures de contrôle
Les instructions conditionnelles
imbriquées
if (expression1) {
bloc1;
}
else if (expression2) {
bloc2;
}
else if (expression3) {
bloc3;
}
else {
bloc5;
} madani.a@ucd.ac.ma 29
Structures de contrôle
L'instruction switch
switch( variable) {
case valeur1: instructions1;break;
case valeur2: instructions2;break;
case valeur3: instructions2;break;
.
.
case valeurN: instructionsN;break;
default: instructions;break;
}
madani.a@ucd.ac.ma 30
Structures de contrôle
La boucle for
La boucle for est une structure employée pour exécuter un
bloc d'instructions un nombre de fois en principe connu à
l'avance. Elle utilise la syntaxe suivante :
for (initialisation;test;incrémentation) {
instructions;
}
Exemple :
int i = 0;
for (i = 2; i < 10;i++) {
System.out.println("Vive Java !");
}
madani.a@ucd.ac.ma 31
Structures de contrôle
Branchement au moyen des instructions break et
continue
break:
int x = 10;
for (int i = 0; i < 10; i++) {
x--;
if (x == 5) break;
}
System.out.println(x);
continue:
madani.a@ucd.ac.ma 32
Structures de contrôle
L ’instruction Exemple :
int s=0,i=O;
While while (i<10){
while (condition){ s+=i;
BlocInstructions; i++;
}
}
L ’instruction do .. Exemple :
while int s=0,i=O;
do do{
BlocInstructions; s+=i;
i++;
while (condition)
}
while (i<10)
madani.a@ucd.ac.ma 33