Vous êtes sur la page 1sur 33

Langage Java

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

Les bases du 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

 Langage interprété : source compilé en pseudo-code


(byte code), puis exécuté par un interpréteur Java (JVM)
 Les programmes java sont multi plateforme
 Langage de programmation orienté objet
 Langage simple : éléments mal exploités sont
abandonnés (pointeurs, héritage multiple, surcharge des
opérateurs, …)
 Langage fortement typé
 Langage haute sécurité
 Java est utilisé pour créer des programmes et des
Applets

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

 Les opérateurs arithmétiques à deux


opérandes
• exemples de raccourcis:
x = x + 4; ou x+=4;
z = z * y; ou Z*=y;
v = v % w; ou v%=w;
 Les opérateurs relationnels:
• == égal
• < plus petit que
• > plus grand que
• <= plus petit ou égal
• >= plus grand ou égal
• != différent

madani.a@ucd.ac.ma 24
Opérateurs

 Les opérateurs logiques


 && Et (deux opérandes)
 || Ou (deux opérandes )
 ! Non (un seul opérande)
 L'opérateur à trois opérandes ?:
 condition ? expression_si_vrai : expression_si_faux
 exemple : x = y < 5 ? 4 * y : 2 * y;
Equivalent à :
if (y < 5) x = 4 * y;
else x = 2 * y;

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:

for (int i = 0; i < 10; i++) {


if (i == 5) continue;
System.out.println(i);
}

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

Vous aimerez peut-être aussi