SlideShare une entreprise Scribd logo
Eléments syntaxiques
du langage Java
PROGRAMMATION OBJET
Jihen HEDHLI
Objectif
Présenter les bases syntaxiques de la programmation
objet avec Java.
Jihen Hedhli-Programmation Orientée Objet 2
Plan
oConventions d’écriture
oMots clés
oCommentaires
oIdentificateurs
oTypes
oDéclaration et initialisation d’un attribut
oClasse String
oTableau
oOpérateurs
oStructures conditionnelles
oStructures itératives
Jihen Hedhli-Programmation Orientée Objet 3
Conventions d’écriture
o Classe: Commence par une majuscule
class Robot, class HeloWorld
o Interface: Commence par la lettre I suivi par le premier
caractère du mot en majuscule
Interface IAccount
o Méthode et attribut: commencent par une minuscule
affiche(), getAge(), setAge(int a), int age, double moyen
o Constante : s’écrit en majuscule
PI, MAXIMUM, SEUIL
Jihen Hedhli-Programmation Orientée Objet 4
Mots clés
Jihen Hedhli-Programmation Orientée Objet 5
Commentaires
o // commentaire sur une seule ligne
o /* commentaires sur plusieurs lignes ligne1 ….
…………………………………………ligne2 */
o /** commentaires destinés à la documentation automatique
*nom d’un programme
* la version
* le réalisateur */
o Ces commentaires /**….*/ sont traités par l’exécutable JAVADOC
pour produire une documentation de l’API java
Jihen Hedhli-Programmation Orientée Objet 6
Identificateurs
◦ Chaque objet, classe, méthode et attribut (variable)est
associé à un identificateur
◦ Interdiction d’utiliser les mots-clés
◦ Commencent par :
une lettre
un « $ »
un « _ » (underscore)
◦ Ne commencent pas par :
un chiffre
un signe de ponctuation autre que « $ » ou « _ »
◦ Java est sensible la casse
Jihen Hedhli-Programmation Orientée Objet 7
Types
o Le type indique la nature de la valeur que va contenir la variable
o Java propose 2 types de données:
 Données primitives( type de base) : contient réellement la valeur
Il n’existe pas en java des types non signés.
Les classesWrapper sont les types objets associés au types primitifs
Jihen Hedhli-Programmation Orientée Objet
Type primitif Taille Classe wrapper
boolean 1-bit (true/false) Boolean
char 16-bit Character
byte 8-bit Byte
short 16-bit Short
int 32-bit Integer
long 64-bit Long
float 32-bit Float
double 64-bit Double
8
o Référence:
représente l’emplacement mémoire ou les informations de
l’objet vont être stockées objet
• o les attributs de l’objet
o Conversion de type
int a, b; a=5; b=8;
 Conversion implicite: float c= a+b;
 Conversion explicite float d= a+ (int) 4,8 ;
référence
Types
Jihen Hedhli-Programmation Orientée Objet
Déclaration et initialisation d’un attribut
◦ int âge; // déclaration ou bien int âge=12;
◦ âge=12; // initialisation
◦ float var= 23.233F; // Nombre suffixé par un F ou f
◦ long compt= 200L; // Nombre suffixé par un L ou l
◦ Char c=‘e’;
◦ final float pi = 3,14f; // déclaration de la constante pi
Jihen Hedhli-Programmation Orientée Objet
âge=12
type: int
nom: âge
10
C’est une classe qui représente le type des chaines de
caractères.
o Déclaration: String chaine1, chaine2;
o Initialisation: chaine1 = " Bonjour " ; chaine2= " DSI ";
o Concaténation: String res= chaine1+ " " +chaine2;
res contient " Bonjour DSI "
Classe String
Jihen Hedhli-Programmation Orientée Objet
Classe String
Chaine1
Chaine2
res
Jihen Hedhli-Programmation Orientée Objet
"Bonjour "
" DSI "
" Bonjour DSI "
12
Tableaux
Déclaration: int tab[ ] ou int [ ] tab;
Initialisation: int tableau[6]={1,2,4,9,5,0};
tableau
Jihen Hedhli-Programmation Orientée Objet
1
2
4
9
5
0
13
Opérateurs
o Opérateurs arithmétiques
Jihen Hedhli-Programmation Orientée Objet
opérateurs opération exemple
+ ajoute deux valeurs X+5
- soustrait deux valeurs X-8
* multiplie deux valeurs X*3
/ divise deux valeurs X/2
= affecte une valeur à
une variable
X=10
14
Opérateurs
◦ Opérateurs d’assignation
Jihen Hedhli-Programmation Orientée Objet
opérateurs opération exemple
+=
addition deux valeurs et stocke
le résultat dans la variable (à
gauche)
x+=5 x=x+5
-=
soustrait deux valeurs et stocke
le résultat dans la variable
x-=8 x=x-8
*=
multiplie deux valeurs et stocke
le résultat dans la variable
x*=3 x=x*3
/=
Divise deux valeurs et stocke le
résultat dans la variable
x/=2 x=x/2
%=
Applique la division euclidienne
et stocke le reste dans la
variable
x%=2 x=x%2
15
Opérateurs
◦ Opérateurs de comparaison
Jihen Hedhli-Programmation Orientée Objet
opérateurs exemple résultat
==
x == y Vrai si x est égal à y , faux
sinon
<
x < y Vrai si x est inférieur
strictement à y , faux
sinon
<=
x <= y Vrai si x est inférieur ou
égal à y , faux sinon
>
x > y Vrai si x est supérieur
strictement à y , faux
sinon
>=
x >= y Vrai si x est supérieur ou
égal à y , faux sinon
!=
x != y Vrai si x est différent de y
, faux sinon
16
Opérateurs
◦ Opérateurs logiques
Jihen Hedhli-Programmation Orientée Objet
opérateurs exemple Résultat
&&
expr1 && expr2
vrai si expr1 et expr2 vrai,
si expr1 est fausse, on
n’évalue pas expr2
& expr1 & expr2 Idem mais on évalue les
deux expressions
|| expr1 || expr2
faux si expr1 et expr2,
fausse, si expr1 est vrai, on
n’évalue pas expr2
| Expr1 | expr2 Idem mais on évalue les
deux expressions
! ! expr1 Vrai si expr1 est fausse
!= expr1 != expr2
Vrai si expr1 est différent
de expr2
? : a ? b : c
renvoie la valeur b si
l'expression a est vraie
sinon c.
17
Opérateurs
oPriorité d’opérateurs
Jihen Hedhli-Programmation Orientée Objet
les parenthèses ( )
les opérateurs
d'incrémentation
++ --
les opérateurs de
multiplication, division,
et modulo
* / %
les opérateurs
d'addition et
soustraction
+ -
les opérateurs de
comparaison
< > <=, >=
les opérateurs
d'égalité
== !=
l'opérateur ET logique &&
l'opérateur OU
logique
||
les opérateurs
d'assignement
= += -=
18
Structures conditionnelles
L’exécution des instructions se base sur la validation d’une expression
logique
◦ La structure if…else
 if (expression)
{
//instructions si expression est valide
}
 if (expression)
{
//instructions si expression est valide
}
else
{
//instructions si expression est non valide
}
Jihen Hedhli-Programmation Orientée Objet 19
Structures conditionnelles
En présence de plusieurs choix, la structure switch est la plus appropriée
◦ La structure switch
switch (Variable) {
caseValeur1 : Liste d'instructions
break;
caseValeur2 : Liste d'instructions
break;
caseValeurs n : Liste d'instructions
break;
default:
Liste d'instructions
break; }
o Le type de la variable est un type simple: int, short, char, byte
o Break: permet de quitter le bloc d’instruction immédiatement
Jihen Hedhli-Programmation Orientée Objet 20
Plusieurs types de boucles existent en java au même titre qu'en C ou
C++
o La structure while()
while ( condition )
{
... // code à exécuter dans la boucle
}
Le code s’exécute tant que la condition est vérifiée
o La structure do ..while()
do {
... // code à exécuter dans la boucle
} while ( condition ) ;
Structures itératives
Jihen Hedhli-Programmation Orientée Objet 21
Le code s’exécute jusqu’à la validation de la condition
o La structure for()
for ( initialisation; condition; incrément) {
... // code à exécuter dans la boucle
}
A partir d’une initialisation et tant que la condition est vérifiée, le
code s’exécute un nombre connu de fois
Structures itératives
Jihen Hedhli-Programmation Orientée Objet 22
Le débranchement d’un bloc d’instruction se fait par deux
instructions:
o La structure break
Permet l’arrêt de la boucle en cours.
Exemple:
for (int i=1; i<=10; i++) {
x = i-4;
if (x == 0) {
System.out.println("division par 0");
break;
}
System.out.println((float) (1/x));
}
Les débranchements
Jihen Hedhli-Programmation Orientée Objet
23
Débranchement
o La structure continue
s'utilise dans une boucle pour ignorer le reste des instructions et
passer directement à l'itération suivante.
Exemple:
Il est possible d’utiliser ces instructions avec un Label:
Continue [boucle1], break[boucle2]
for(int j=0; j<=10; j++){
if(j==5) continue;
System.out.println((float)(1/j-5))
}
Jihen Hedhli-Programmation Orientée Objet
24

Contenu connexe

Tendances

Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
Aziz Darouichi
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
Aziz Darouichi
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
Youness Boukouchi
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
Aziz Darouichi
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
Abdoulaye Dieng
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
Formation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procéduraleFormation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procédurale
kemenaran
 
Boosted Java to Native Interface (JNI)
Boosted Java to Native Interface (JNI)Boosted Java to Native Interface (JNI)
Boosted Java to Native Interface (JNI)
Innobec
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
Aziz Darouichi
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases javaAmel Morchdi
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
Mahfoud EL HOUDAIGUI
 
langage C++
langage C++langage C++
langage C++
mohamednacim
 
Formation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetFormation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objet
kemenaran
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 
Le langage C
Le langage CLe langage C
Le langage C
Bruno Delb
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
rezgui mohamed
 

Tendances (20)

Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Tp introduction java
Tp introduction javaTp introduction java
Tp introduction java
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Le langage C
Le langage CLe langage C
Le langage C
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Formation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procéduraleFormation C# - Cours 2 - Programmation procédurale
Formation C# - Cours 2 - Programmation procédurale
 
Boosted Java to Native Interface (JNI)
Boosted Java to Native Interface (JNI)Boosted Java to Native Interface (JNI)
Boosted Java to Native Interface (JNI)
 
Ch08
Ch08Ch08
Ch08
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
 
langage C++
langage C++langage C++
langage C++
 
Formation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetFormation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objet
 
Cours c#
Cours c#Cours c#
Cours c#
 
Le langage C
Le langage CLe langage C
Le langage C
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 

Similaire à Eléments syntaxiques du langage java-Jihen HEDHLI

POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
LarbaSAWADOGO2
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
AyoubElmrabet6
 
intro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPintro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APP
frwebhelp
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
betalab
 
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
LagloireSouamounou
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
coursuniv
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SiratiSoufiane
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
Club Scientifique de l'ESI - CSE
 
JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
Mohamed Ferchichi
 
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkrCours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
JulienKhalil3
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
Microsoft
 
fortran 2.pdf
fortran 2.pdffortran 2.pdf
fortran 2.pdf
McWalidBensaid
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
YounesOuladSayad1
 
Eléments du langage Java.pdf
Eléments du langage  Java.pdfEléments du langage  Java.pdf
Eléments du langage Java.pdf
AabidiHafid
 
seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.ppt
AmineReal
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieurFredy Fadel
 
Javascript pour les développeurs Java : quels sont les pièges à éviter ?
Javascript pour les développeurs Java : quels sont les pièges à éviter ?Javascript pour les développeurs Java : quels sont les pièges à éviter ?
Javascript pour les développeurs Java : quels sont les pièges à éviter ?
FlorianBoulay
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
Asmaa BENGUEDDACH
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
kamalomari2
 

Similaire à Eléments syntaxiques du langage java-Jihen HEDHLI (20)

POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
 
02 Spécificité du C++ COURS SYS SYSSSSSS
02 Spécificité du C++  COURS SYS SYSSSSSS02 Spécificité du C++  COURS SYS SYSSSSSS
02 Spécificité du C++ COURS SYS SYSSSSSS
 
intro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPintro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APP
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptxESGAE_C#_2021-2024 Cours Avancé (('.pptx
ESGAE_C#_2021-2024 Cours Avancé (('.pptx
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 
JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
 
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkrCours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
Cours_Java. Skzozibb nsif keizijfbjzozzml keiei tjeiz9rkr
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
 
fortran 2.pdf
fortran 2.pdffortran 2.pdf
fortran 2.pdf
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 
Eléments du langage Java.pdf
Eléments du langage  Java.pdfEléments du langage  Java.pdf
Eléments du langage Java.pdf
 
seance4-1 php.ppt
seance4-1 php.pptseance4-1 php.ppt
seance4-1 php.ppt
 
Javascript un langage supérieur
Javascript un langage supérieurJavascript un langage supérieur
Javascript un langage supérieur
 
Javascript pour les développeurs Java : quels sont les pièges à éviter ?
Javascript pour les développeurs Java : quels sont les pièges à éviter ?Javascript pour les développeurs Java : quels sont les pièges à éviter ?
Javascript pour les développeurs Java : quels sont les pièges à éviter ?
 
Part1
Part1Part1
Part1
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 

Dernier

Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
mohammadaminejouini
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
AbdessamadAmimi1
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 

Dernier (7)

Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 

Eléments syntaxiques du langage java-Jihen HEDHLI

  • 1. Eléments syntaxiques du langage Java PROGRAMMATION OBJET Jihen HEDHLI
  • 2. Objectif Présenter les bases syntaxiques de la programmation objet avec Java. Jihen Hedhli-Programmation Orientée Objet 2
  • 3. Plan oConventions d’écriture oMots clés oCommentaires oIdentificateurs oTypes oDéclaration et initialisation d’un attribut oClasse String oTableau oOpérateurs oStructures conditionnelles oStructures itératives Jihen Hedhli-Programmation Orientée Objet 3
  • 4. Conventions d’écriture o Classe: Commence par une majuscule class Robot, class HeloWorld o Interface: Commence par la lettre I suivi par le premier caractère du mot en majuscule Interface IAccount o Méthode et attribut: commencent par une minuscule affiche(), getAge(), setAge(int a), int age, double moyen o Constante : s’écrit en majuscule PI, MAXIMUM, SEUIL Jihen Hedhli-Programmation Orientée Objet 4
  • 6. Commentaires o // commentaire sur une seule ligne o /* commentaires sur plusieurs lignes ligne1 …. …………………………………………ligne2 */ o /** commentaires destinés à la documentation automatique *nom d’un programme * la version * le réalisateur */ o Ces commentaires /**….*/ sont traités par l’exécutable JAVADOC pour produire une documentation de l’API java Jihen Hedhli-Programmation Orientée Objet 6
  • 7. Identificateurs ◦ Chaque objet, classe, méthode et attribut (variable)est associé à un identificateur ◦ Interdiction d’utiliser les mots-clés ◦ Commencent par : une lettre un « $ » un « _ » (underscore) ◦ Ne commencent pas par : un chiffre un signe de ponctuation autre que « $ » ou « _ » ◦ Java est sensible la casse Jihen Hedhli-Programmation Orientée Objet 7
  • 8. Types o Le type indique la nature de la valeur que va contenir la variable o Java propose 2 types de données:  Données primitives( type de base) : contient réellement la valeur Il n’existe pas en java des types non signés. Les classesWrapper sont les types objets associés au types primitifs Jihen Hedhli-Programmation Orientée Objet Type primitif Taille Classe wrapper boolean 1-bit (true/false) Boolean char 16-bit Character byte 8-bit Byte short 16-bit Short int 32-bit Integer long 64-bit Long float 32-bit Float double 64-bit Double 8
  • 9. o Référence: représente l’emplacement mémoire ou les informations de l’objet vont être stockées objet • o les attributs de l’objet o Conversion de type int a, b; a=5; b=8;  Conversion implicite: float c= a+b;  Conversion explicite float d= a+ (int) 4,8 ; référence Types Jihen Hedhli-Programmation Orientée Objet
  • 10. Déclaration et initialisation d’un attribut ◦ int âge; // déclaration ou bien int âge=12; ◦ âge=12; // initialisation ◦ float var= 23.233F; // Nombre suffixé par un F ou f ◦ long compt= 200L; // Nombre suffixé par un L ou l ◦ Char c=‘e’; ◦ final float pi = 3,14f; // déclaration de la constante pi Jihen Hedhli-Programmation Orientée Objet âge=12 type: int nom: âge 10
  • 11. C’est une classe qui représente le type des chaines de caractères. o Déclaration: String chaine1, chaine2; o Initialisation: chaine1 = " Bonjour " ; chaine2= " DSI "; o Concaténation: String res= chaine1+ " " +chaine2; res contient " Bonjour DSI " Classe String Jihen Hedhli-Programmation Orientée Objet
  • 12. Classe String Chaine1 Chaine2 res Jihen Hedhli-Programmation Orientée Objet "Bonjour " " DSI " " Bonjour DSI " 12
  • 13. Tableaux Déclaration: int tab[ ] ou int [ ] tab; Initialisation: int tableau[6]={1,2,4,9,5,0}; tableau Jihen Hedhli-Programmation Orientée Objet 1 2 4 9 5 0 13
  • 14. Opérateurs o Opérateurs arithmétiques Jihen Hedhli-Programmation Orientée Objet opérateurs opération exemple + ajoute deux valeurs X+5 - soustrait deux valeurs X-8 * multiplie deux valeurs X*3 / divise deux valeurs X/2 = affecte une valeur à une variable X=10 14
  • 15. Opérateurs ◦ Opérateurs d’assignation Jihen Hedhli-Programmation Orientée Objet opérateurs opération exemple += addition deux valeurs et stocke le résultat dans la variable (à gauche) x+=5 x=x+5 -= soustrait deux valeurs et stocke le résultat dans la variable x-=8 x=x-8 *= multiplie deux valeurs et stocke le résultat dans la variable x*=3 x=x*3 /= Divise deux valeurs et stocke le résultat dans la variable x/=2 x=x/2 %= Applique la division euclidienne et stocke le reste dans la variable x%=2 x=x%2 15
  • 16. Opérateurs ◦ Opérateurs de comparaison Jihen Hedhli-Programmation Orientée Objet opérateurs exemple résultat == x == y Vrai si x est égal à y , faux sinon < x < y Vrai si x est inférieur strictement à y , faux sinon <= x <= y Vrai si x est inférieur ou égal à y , faux sinon > x > y Vrai si x est supérieur strictement à y , faux sinon >= x >= y Vrai si x est supérieur ou égal à y , faux sinon != x != y Vrai si x est différent de y , faux sinon 16
  • 17. Opérateurs ◦ Opérateurs logiques Jihen Hedhli-Programmation Orientée Objet opérateurs exemple Résultat && expr1 && expr2 vrai si expr1 et expr2 vrai, si expr1 est fausse, on n’évalue pas expr2 & expr1 & expr2 Idem mais on évalue les deux expressions || expr1 || expr2 faux si expr1 et expr2, fausse, si expr1 est vrai, on n’évalue pas expr2 | Expr1 | expr2 Idem mais on évalue les deux expressions ! ! expr1 Vrai si expr1 est fausse != expr1 != expr2 Vrai si expr1 est différent de expr2 ? : a ? b : c renvoie la valeur b si l'expression a est vraie sinon c. 17
  • 18. Opérateurs oPriorité d’opérateurs Jihen Hedhli-Programmation Orientée Objet les parenthèses ( ) les opérateurs d'incrémentation ++ -- les opérateurs de multiplication, division, et modulo * / % les opérateurs d'addition et soustraction + - les opérateurs de comparaison < > <=, >= les opérateurs d'égalité == != l'opérateur ET logique && l'opérateur OU logique || les opérateurs d'assignement = += -= 18
  • 19. Structures conditionnelles L’exécution des instructions se base sur la validation d’une expression logique ◦ La structure if…else  if (expression) { //instructions si expression est valide }  if (expression) { //instructions si expression est valide } else { //instructions si expression est non valide } Jihen Hedhli-Programmation Orientée Objet 19
  • 20. Structures conditionnelles En présence de plusieurs choix, la structure switch est la plus appropriée ◦ La structure switch switch (Variable) { caseValeur1 : Liste d'instructions break; caseValeur2 : Liste d'instructions break; caseValeurs n : Liste d'instructions break; default: Liste d'instructions break; } o Le type de la variable est un type simple: int, short, char, byte o Break: permet de quitter le bloc d’instruction immédiatement Jihen Hedhli-Programmation Orientée Objet 20
  • 21. Plusieurs types de boucles existent en java au même titre qu'en C ou C++ o La structure while() while ( condition ) { ... // code à exécuter dans la boucle } Le code s’exécute tant que la condition est vérifiée o La structure do ..while() do { ... // code à exécuter dans la boucle } while ( condition ) ; Structures itératives Jihen Hedhli-Programmation Orientée Objet 21
  • 22. Le code s’exécute jusqu’à la validation de la condition o La structure for() for ( initialisation; condition; incrément) { ... // code à exécuter dans la boucle } A partir d’une initialisation et tant que la condition est vérifiée, le code s’exécute un nombre connu de fois Structures itératives Jihen Hedhli-Programmation Orientée Objet 22
  • 23. Le débranchement d’un bloc d’instruction se fait par deux instructions: o La structure break Permet l’arrêt de la boucle en cours. Exemple: for (int i=1; i<=10; i++) { x = i-4; if (x == 0) { System.out.println("division par 0"); break; } System.out.println((float) (1/x)); } Les débranchements Jihen Hedhli-Programmation Orientée Objet 23
  • 24. Débranchement o La structure continue s'utilise dans une boucle pour ignorer le reste des instructions et passer directement à l'itération suivante. Exemple: Il est possible d’utiliser ces instructions avec un Label: Continue [boucle1], break[boucle2] for(int j=0; j<=10; j++){ if(j==5) continue; System.out.println((float)(1/j-5)) } Jihen Hedhli-Programmation Orientée Objet 24