SlideShare a Scribd company logo
1 of 21
Programmation Orientée Objet
Application avec JAVA
DGIMA
GINF-1
Application avec JAVA
2017-2018
Mouna Torjmen Khemakhem
Plan du cours
• Introduction
• Chapitre 1: Classe et Objet
• Chapitre 2: Encapsulation
•• Chapitre 3: Les collections
• Chapitre 4: Héritage et polymorphisme
• Chapitre 5: Classes abstraites et interfaces
• Chapitre 6: Les exceptions
Introduction
Mouna Torjmen Khemakhem
Notion : Orienté Objet
• La programmation orientée objet se base sur une
approche de conception et de développement de
logicielslogiciels
• Représenter les éléments du monde réel par des entités
informatiques appelés "objets" en adoptant un haut
niveau d'abstraction.
4
Mouna Torjmen Khemakhem
Notion : Orienté Objet
• Conception et Développement d'un logiciel
5
Mouna Torjmen Khemakhem
Notion : Orienté Objet
• Approche procédurale :
"Que doit faire mon programme ? "
• Approche orientée-objet :
"De quoi doit être composé mon programme ?"
Mouna Torjmen Khemakhem
6
Notion : Orienté Objet
•Des objets similaires peuvent être informatiquement
décrits par une même abstraction : une classe
même structure de données et méthodes de
traitement
valeurs différentes pour chaque objet
Mouna Torjmen Khemakhem
7
Notion : Orienté Objet
Classe Livre
-titre
-auteur
Classe Journal
-titre
Classe Employé
-nom
-prénom
-statut
Classe Lecteur
-nom
-prénom
8
Mouna Torjmen Khemakhem
• Exemples:
Notion : Orienté Objet
Mouna Torjmen Khemakhem
9
JAVA : La plateforme
• Un langage de programmation orienté objet
crée par Sun MicroSystems
• Présenté officiellement en 23 Mai 1995
au SunWord.
• Java est multiplateforme
• Java est sous Licence libre depuis 13 Novembre 2006.
• En 2009, Oracle a acheté Sun MicroSystems : le logo Oracle
apparaît dans la documentation Java
• Avec JAVA:
des applications, sous forme de fenêtre ou de console ;
des applets
des applications pour appareils mobiles, avec J2ME et Android;
et bien d'autres ! J2EE, JMF, J3D pour la 3D... 10
Mouna Torjmen Khemakhem
JAVA: classe
• Les briques de constructions d’un programme JAVA sont les
classes
LES ATTRIBUTS :
Les attributs représentent la
description des données
Partie statique les données (Propriétés)
description des données
propres à chaque classe d'objets
le code les manipulant
(Méthodes)
Classe
LES METHODES :
Les méthodes représentent
l'ensemble des actions,
procédures, fonctions ou
opérations que l'on
peut associer à une classe
Partie dynamique
11
Mouna Torjmen Khemakhem
Programme JAVA
Un programme Java est compilé et interprété
Compilé
-le code source est, directement,
interprété sans phase de compilation,Compilé
-le code source est soumis à un
compilateur, pour en faire un fichier
binaire compréhensible par un
microprocesseur (une sorte de pré-
fichier .exe)
Interprété
interprété sans phase de compilation,
et c'est l'interprète qui exécute ce
code source, qu'il interprète à la
volée.(JVM)
12
Mouna Torjmen Khemakhem
Programme JAVA
public class Hello {
public static void main (String args[ ]) {
System.out.println (" Hello World ! ");
}
}
Hello.java
javac Hello.javajavac Hello.java
java Hello
Hello.class
Fichier source
ByteCode
Code exécutable
--------------
--------------
13
Mouna Torjmen Khemakhem
Programme JAVA
L'interpréteur Java s'appelle machine virtuelle Java (JVM)
•Une machine virtuelle est un ordinateur fictif s’exécutant sur un
ordinateur réel :
possède un langage natif propre et traduit un programme écrit
dans ce langage vers le langage natif de l’ordinateur.
Définit les spécifications hardware de la plateforme
Lit le bytecode compilé (indépendant de la plateforme)
14
Mouna Torjmen Khemakhem
Versions java
• JDK 1.0 (January 23, 1996)
• JDK 1.1 (February 19, 1997)
• J2SE 1.2 (December 8, 1998)
• J2SE 1.3 (May 8, 2000)
• J2SE 1.4 (February 6, 2002)• J2SE 1.4 (February 6, 2002)
• J2EE 5.0 (September 30, 2004)
• Java SE 6 (December 11, 2006)
• Java SE 7 (July 28, 2011)
• Java 8 (March 18, 2014)
• Java SE 9 (September 21, 2017)
15
Mouna Torjmen Khemakhem
Identificateurs
• Nommer les classes, les variables, les méthodes, ...
• Un identificateur Java
est de longueur quelconque
commence par une lettre Unicode
peut ensuite contenir des lettres ou des chiffres ou le caractère
souligné«_ »
ne doit pas être un mot réservé du langage (mot clé) (if, for, true, … )
• Les caractères suivants sont autorisés pour construire un identificateur Java :
"$" , "_" , "μ" et les lettres accentuées.
[a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode}
16
Mouna Torjmen Khemakhem
Les règles de nommage
• Classe :
1ère lettre en majuscule
Mélange de minuscule, majuscule avec la première lettre de chaque mot en
majuscule
Donner des noms simples et descriptifs
Packages• Packages
Tout en minuscule.
Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret '-',
d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...).
• Constante:
Les constantes sont en majuscules et les mots sont séparés par
le caractère souligné« _ »: UNE_CONSTANTE
17
Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE
• On développe, généralement, un programme
JAVA en utilisant un IDE,
• Afin de pouvoir créer une application JAVA• Afin de pouvoir créer une application JAVA
consistante, on a besoin du JDK,
• Pour tester et lancer le code écrit, on doit,
nécessairement, disposer du JRE.
18
Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE
IDE
(Integrated
Development
Environment)
Un programme regroupant un ensemble d'outils pour le
développement de logiciels.
En général, un IDE regroupe un éditeur de texte, un compilateur,
des outils automatiques de fabrication, et souvent un débogueur.
(Exp: Eclipse, Netbeans)
SDK
(Software
Development Kit)
Ce kit est composé d'un JRE, d'un compilateur et de nombreux
programmes utiles, des exemples de programmes Java, les
sources de toutes les classes de l'api.
19
Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE
JRE
(Java Runtime
Environment)
L’environnement qui permet d'exécuter les applications java,
Il est constitué de la JVM en particulier (Java Virtual Machine).
Environment)
JDK
(Java Development
Kit)
Outils permettant de développer, compiler (javac), débuguer (jdb)
et exécuter un programme java.
Il y a aussi des outils d'archivage (jar), de génération de
documentation (javadoc).
20
Mouna Torjmen Khemakhem
Environnement de
développement intégré (EDI)
• Exemple : Eclipse, Netbeans, Jcreator, …
• La compilation se fait implicitement lorsque il y a des
changements dans les fichiers sources.
• L'interprétation se lance graphiquement avec le bouton
Run.
• Le résultat apparaît dans un console intégré à l'EDI.
21
Mouna Torjmen Khemakhem

More Related Content

What's hot

Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 ExceptionsMouna Torjmen
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsKokou Gaglo
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Faycel Chaoua
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 

What's hot (20)

Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
React-cours.pdf
React-cours.pdfReact-cours.pdf
React-cours.pdf
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 

Similar to POO Java Introduction

Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxRihabBENLAMINE
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)Ahmed Charef
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeformationobjetdirect
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchTarek Halloul
 
Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1ISIG
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptxRihabBENLAMINE
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & toolsSlim Soussi
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe Salifou
 

Similar to POO Java Introduction (20)

Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptx
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
 
Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
4711538.pptx
4711538.pptx4711538.pptx
4711538.pptx
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
Introduction à Java
Introduction à JavaIntroduction à Java
Introduction à Java
 
POO-Cours.pdf
POO-Cours.pdfPOO-Cours.pdf
POO-Cours.pdf
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Javaoop
JavaoopJavaoop
Javaoop
 
Certification java oca
Certification java ocaCertification java oca
Certification java oca
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 

More from Mouna Torjmen

More from Mouna Torjmen (6)

TIC & E-Learning
TIC & E-LearningTIC & E-Learning
TIC & E-Learning
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APP
 
Chapitre 4 no sql
Chapitre 4 no sqlChapitre 4 no sql
Chapitre 4 no sql
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 

Recently uploaded

Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesangevaleryn
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 

Recently uploaded (9)

Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniques
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 

POO Java Introduction

  • 1. Programmation Orientée Objet Application avec JAVA DGIMA GINF-1 Application avec JAVA 2017-2018 Mouna Torjmen Khemakhem
  • 2. Plan du cours • Introduction • Chapitre 1: Classe et Objet • Chapitre 2: Encapsulation •• Chapitre 3: Les collections • Chapitre 4: Héritage et polymorphisme • Chapitre 5: Classes abstraites et interfaces • Chapitre 6: Les exceptions
  • 4. Notion : Orienté Objet • La programmation orientée objet se base sur une approche de conception et de développement de logicielslogiciels • Représenter les éléments du monde réel par des entités informatiques appelés "objets" en adoptant un haut niveau d'abstraction. 4 Mouna Torjmen Khemakhem
  • 5. Notion : Orienté Objet • Conception et Développement d'un logiciel 5 Mouna Torjmen Khemakhem
  • 6. Notion : Orienté Objet • Approche procédurale : "Que doit faire mon programme ? " • Approche orientée-objet : "De quoi doit être composé mon programme ?" Mouna Torjmen Khemakhem 6
  • 7. Notion : Orienté Objet •Des objets similaires peuvent être informatiquement décrits par une même abstraction : une classe même structure de données et méthodes de traitement valeurs différentes pour chaque objet Mouna Torjmen Khemakhem 7
  • 8. Notion : Orienté Objet Classe Livre -titre -auteur Classe Journal -titre Classe Employé -nom -prénom -statut Classe Lecteur -nom -prénom 8 Mouna Torjmen Khemakhem
  • 9. • Exemples: Notion : Orienté Objet Mouna Torjmen Khemakhem 9
  • 10. JAVA : La plateforme • Un langage de programmation orienté objet crée par Sun MicroSystems • Présenté officiellement en 23 Mai 1995 au SunWord. • Java est multiplateforme • Java est sous Licence libre depuis 13 Novembre 2006. • En 2009, Oracle a acheté Sun MicroSystems : le logo Oracle apparaît dans la documentation Java • Avec JAVA: des applications, sous forme de fenêtre ou de console ; des applets des applications pour appareils mobiles, avec J2ME et Android; et bien d'autres ! J2EE, JMF, J3D pour la 3D... 10 Mouna Torjmen Khemakhem
  • 11. JAVA: classe • Les briques de constructions d’un programme JAVA sont les classes LES ATTRIBUTS : Les attributs représentent la description des données Partie statique les données (Propriétés) description des données propres à chaque classe d'objets le code les manipulant (Méthodes) Classe LES METHODES : Les méthodes représentent l'ensemble des actions, procédures, fonctions ou opérations que l'on peut associer à une classe Partie dynamique 11 Mouna Torjmen Khemakhem
  • 12. Programme JAVA Un programme Java est compilé et interprété Compilé -le code source est, directement, interprété sans phase de compilation,Compilé -le code source est soumis à un compilateur, pour en faire un fichier binaire compréhensible par un microprocesseur (une sorte de pré- fichier .exe) Interprété interprété sans phase de compilation, et c'est l'interprète qui exécute ce code source, qu'il interprète à la volée.(JVM) 12 Mouna Torjmen Khemakhem
  • 13. Programme JAVA public class Hello { public static void main (String args[ ]) { System.out.println (" Hello World ! "); } } Hello.java javac Hello.javajavac Hello.java java Hello Hello.class Fichier source ByteCode Code exécutable -------------- -------------- 13 Mouna Torjmen Khemakhem
  • 14. Programme JAVA L'interpréteur Java s'appelle machine virtuelle Java (JVM) •Une machine virtuelle est un ordinateur fictif s’exécutant sur un ordinateur réel : possède un langage natif propre et traduit un programme écrit dans ce langage vers le langage natif de l’ordinateur. Définit les spécifications hardware de la plateforme Lit le bytecode compilé (indépendant de la plateforme) 14 Mouna Torjmen Khemakhem
  • 15. Versions java • JDK 1.0 (January 23, 1996) • JDK 1.1 (February 19, 1997) • J2SE 1.2 (December 8, 1998) • J2SE 1.3 (May 8, 2000) • J2SE 1.4 (February 6, 2002)• J2SE 1.4 (February 6, 2002) • J2EE 5.0 (September 30, 2004) • Java SE 6 (December 11, 2006) • Java SE 7 (July 28, 2011) • Java 8 (March 18, 2014) • Java SE 9 (September 21, 2017) 15 Mouna Torjmen Khemakhem
  • 16. Identificateurs • Nommer les classes, les variables, les méthodes, ... • Un identificateur Java est de longueur quelconque commence par une lettre Unicode peut ensuite contenir des lettres ou des chiffres ou le caractère souligné«_ » ne doit pas être un mot réservé du langage (mot clé) (if, for, true, … ) • Les caractères suivants sont autorisés pour construire un identificateur Java : "$" , "_" , "μ" et les lettres accentuées. [a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode} 16 Mouna Torjmen Khemakhem
  • 17. Les règles de nommage • Classe : 1ère lettre en majuscule Mélange de minuscule, majuscule avec la première lettre de chaque mot en majuscule Donner des noms simples et descriptifs Packages• Packages Tout en minuscule. Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret '-', d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...). • Constante: Les constantes sont en majuscules et les mots sont séparés par le caractère souligné« _ »: UNE_CONSTANTE 17 Mouna Torjmen Khemakhem
  • 18. IDE, SDK, JDK, JRE • On développe, généralement, un programme JAVA en utilisant un IDE, • Afin de pouvoir créer une application JAVA• Afin de pouvoir créer une application JAVA consistante, on a besoin du JDK, • Pour tester et lancer le code écrit, on doit, nécessairement, disposer du JRE. 18 Mouna Torjmen Khemakhem
  • 19. IDE, SDK, JDK, JRE IDE (Integrated Development Environment) Un programme regroupant un ensemble d'outils pour le développement de logiciels. En général, un IDE regroupe un éditeur de texte, un compilateur, des outils automatiques de fabrication, et souvent un débogueur. (Exp: Eclipse, Netbeans) SDK (Software Development Kit) Ce kit est composé d'un JRE, d'un compilateur et de nombreux programmes utiles, des exemples de programmes Java, les sources de toutes les classes de l'api. 19 Mouna Torjmen Khemakhem
  • 20. IDE, SDK, JDK, JRE JRE (Java Runtime Environment) L’environnement qui permet d'exécuter les applications java, Il est constitué de la JVM en particulier (Java Virtual Machine). Environment) JDK (Java Development Kit) Outils permettant de développer, compiler (javac), débuguer (jdb) et exécuter un programme java. Il y a aussi des outils d'archivage (jar), de génération de documentation (javadoc). 20 Mouna Torjmen Khemakhem
  • 21. Environnement de développement intégré (EDI) • Exemple : Eclipse, Netbeans, Jcreator, … • La compilation se fait implicitement lorsque il y a des changements dans les fichiers sources. • L'interprétation se lance graphiquement avec le bouton Run. • Le résultat apparaît dans un console intégré à l'EDI. 21 Mouna Torjmen Khemakhem