badr benmammar bbm@badr-benmammar.com introduction à la programmation en java

Download Badr Benmammar bbm@badr-benmammar.com Introduction à la programmation en Java

If you can't read please download the document

Post on 03-Apr-2015

110 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

  • Page 1
  • Badr Benmammar bbm@badr-benmammar.com Introduction la programmation en Java
  • Page 2
  • Plan Introduction gnrale Langages compils Langages interprts Langages intermdiaires Introduction au JAVA Environnement de programmation JVM, JRE, JDK et SDK Quelques packages Package de base : java.lang Historique des versions J2SE, J2EE et J2ME Terminologie JAR, JCP et JSR JAVA, interprt ou compil ?
  • Page 3
  • Plan Syntaxe et lments de bases de Java Types primitifs Variables Constantes Conversion de type de donnes Conversion explicite Conversion implicite Lire les entres clavier Oprateurs Fonctions mathmatiques Structures de contrles des instructions Tableaux Fonctions Procdures
  • Page 4
  • Langages de programmation Les langages de programmation actuels sont majoritairement de deux sortes : Langages compils. Langages interprts. Lors du choix dun langage pour un projet, cet aspect fondamental peut faire pencher la balance.
  • Page 5
  • Langage machine Le langage machine, ou code machine, cest le langage natif d'un processeur, c'est-- dire le seul qu'il puisse traiter. Cest la suite de bits qui est interprte par le processeur d'un ordinateur excutant un programme informatique. Il est compos d'instructions et de donnes traiter codes en binaire. Le code machine est gnr, gnralement par la compilation d'un langage de programmation.
  • Page 6
  • Langage compil Un programme crit dans un langage compil va tre traduit une fois pour toutes par un compilateur, afin de gnrer un fichier excutable. Exemple : C, C++, Pascal, Fortran, Cobol, ADA. Le langage C : gcc -o essai.o -c essai.c gcc -o essai essai.o Ou gcc o essai essai.c Avantage : rapide. Inconvnient : ferm si on na pas le source, besoin de loutil de dveloppement pour modifier.
  • Page 7
  • Langage interprt Un langage informatique se dit interprt lorsque les instructions qui le composent sont dcodes les unes aprs les autres et excutes aussitt. Son fonctionnement est le suivant : Lire linstruction ; Excuter linstruction ; Passer linstruction suivante et recommencer.
  • Page 8
  • Langage interprt Un langage interprt a besoin dun interprteur. BASIC, MATLAB, PHP, Prolog, Perl. Le QBasic se lanait avec la commande : qbasic /run prog.bas Avantage : le programme prog.bas est un fichier texte, facilement modifiable. Inconvnient : cest forcment plus lent que quand cest compil.
  • Page 9
  • Quelques langages
  • Page 10
  • Langages intermdiaires Certains langages appartiennent en quelque sorte aux deux catgories : LISP, Python, Le programme crit avec ces langages peut dans certaines conditions subir une phase de compilation intermdiaire vers un fichier crit dans un langage diffrent du fichier source et non excutable (ncessit dun interprteur).
  • Page 11
  • JAVA : portabilit et fiabilit JAVA a t dvelopp par Sun au dbut des annes 90 dans une filiation avec le langage C et surtout le langage objet C++ mais dans une optique de plus grande portabilit dune machine une autre et dune plus grande fiabilit. Les programmes JAVA sont compils en "bytecode", un langage intermdiaire indpendant de la plateforme. Ce "bytecode" est interprt par une machine virtuelle sur des machines diffrentes : Mac, Pc, Windows, Linux, Unix,... Exemple : applets Java, petits programmes insrs parfois dans les pages Web, sont des fichiers qui sont compils mais que lon ne peut excuter qu' partir dun navigateur internet.
  • Page 12
  • JAVA : compil ou interprt ? Un langage compil est un langage pour lequel le compilateur va traduire le code crit par les dveloppeurs en code excutable directement par la machine. Un langage interprt est un langage pour lequel la traduction en code machine n'est fait qu l'excution. Pour le java, on une tape de compilation qui produit du code qui sera excut par une machine virtuelle, cest une solution intermdiaire qui permet de rester indpendant du type de machine qui excutera le code tout en ayant un code dj optimis pour l'excution.
  • Page 13
  • JAVA : compil ou interprt ? Compilateur (javac) Fichier source (*.java) Bytecode (*.class) Interprteur (java)
  • Page 14
  • JAVA : environnement de programmation JAVA est un environnement de programmation objet compos de : Langage orient objet JAVA. JVM (machine virtuelle Java) : permettant dinterprter et dexcuter le bytecode Java. API (application programming interface) : un ensemble de classes standards (bibliothque). JRE (Java Runtime Environment) : lenvironnement dexcution Java dsigne un ensemble doutils permettant lexcution de programmes Java sur toutes les plates- formes supportes. JRE est constitu de la JVM et dune bibliothque standard partir de laquelle doivent tre dvelopps tous les programmes en Java. java.lang est le package de base qui contient les classes qui seraient toujours utilises (System, Thread, Math, String, ). Toutes les classes et interfaces de java.lang sont automatiquement importes par le compilateur.
  • Page 15
  • JAVA : environnement de programmation Java Development Kit (JDK) : le nouveau terme cest SDK (Standard Development Kit) qui est lenvironnement dans lequel le code Java est compil pour tre transform en bytecode afin que la machine virtuelle Java (JVM) puisse l'interprter. Les composants primaires du JDK sont une slection doutils de programmation, incluant : javac : le compilateur, qui convertit le code source en fichier.class (contenant le bytecode Java). javadoc : le gnrateur de documentation, qui gnre automatiquement de la documentation partir des commentaires du code source. jar : larchiveur, qui met sous forme dun paquetage unique lensemble des fichiers class en un fichier JAR. jdb : le dbogueur. JRE : environnement dexcution Java.
  • Page 16
  • Quelques packages Package de base : java.lang Toutes les classes et interfaces de java.lang sont automatiquement importes par le compilateur. Gestion de donnes et utilitaires : java.util Rassemble des classes d'utilitaires (gestion des collections de donnes, gnration de nombres alatoires, numration, date,...). Dfinit les classes d'exceptions : EmptyStackException. NoSuchElementException. Gestion des applets : java.applet La classe Applet et les interfaces de ce package permettent de programmer une applet Java et d'intgrer une applet dans un navigateur. Manipulation d'images : java.awt.image Les classes de ce package permettent de manipuler les images (gestion du chargement des images, filtres, gestion des couleurs,...).
  • Page 17
  • Quelques packages Entres-sorties : java.io Rassemble les classes permettant de grer les entres-sorties (accs fichiers, gestion de rpertoires,...). Dfinit les classes d'exceptions : IOException. EOFException. FileNotFoundException. InterruptedIOException. UTFDataFormatException. Accs rseau : java.net Rassemble les classes permettant de grer les accs rseau. Dfinit les classes d'exceptions : MalformedURLException. ProtocolException. SocketException. UnknownHostException. UnknownServiceException.
  • Page 18
  • Quelques packages Interface utilisateur : java.awt : utilise les composant graphiques natifs (peers). Dfinit les classes d'exceptions : AWTException. AWTError. Interface utilisateur : javax.swing : librairie trs puissante, composants trs volus (arbres, tables, ). Dfinit lexception : UnsupportedLookAndFeelException Java 3D : javax.media.j3d Rassemble les classes de lAPI Java 3D (interface de programmation pour la plateforme Java visant la synthse d'image 3D).
  • Page 19
  • Historique des versions Le langage Java a connu plusieurs volutions depuis le JDK 1.0 (Java Development Kit) avec lajout de nombreuses classes et packages la bibliothque standard. JDK 1.0 (23 janvier 1996 - 211 classes et interfaces) : version initiale. JDK 1.1 (19 fvrier 1997 - 477 classes et interfaces) : de nombreux ajouts avec notamment : Une refonte complte du modle vnementiel AWT. Les classes internes sont ajoutes au langage. JavaBeans. JDBC. Java Remote Invocation (RMI).
  • Page 20
  • J2SE 1.2 (9 dcembre 1998 - 1524 classes et interfaces) : cette version et les suivantes jusque J2SE 5.0 sont rebaptises Java 2 et ldition nomme J2SE remplace JDK pour distinguer la plate-forme de base de ldition J2EE et de ldition J2ME. J2SE : (Java 2 Standard Edition) comprenant les API et bibliothques de bases, ainsi que les API destins au poste client (comme par exemple Java Foundation Classes (JFC) qui est un framework graphique pour Java compos de AWT, Swing et Java2D). J2EE : (Java 2 Enterprise Edition) destine aux dveloppements des applications dentreprises. Sun propose en plus des spcifications, des mises en uvre illustratives. J2ME : (Java 2 Micro Edition) destine aux systmes mobiles tel que par exemple, les assistants personnels ou les tlphones portables. Plusieurs ajouts par rapport la version prcdente dont : Le framework Collections. LAPI graphique Swing est intgre. Historique des versions
  • Page 21
  • J2SE 1.3 (8 mai 2000 - 1 840 classes et interfaces) : changements principaux : Changement pour les RMI pour tre bas sur CORBA. JavaSound. JNDI (Java Naming and Directory Interface) inclus de base (disponible auparavant comme extension) pour utiliser diffrents services de nommages ou d'annuaires. JPDA (Java Platform Debugger Architecture) pour les outils de type dbogueur. Historique des versions
  • Page 22
  • J2SE 1.4 (6 fvrier 2002 - 2 723 classes et interfaces) : les principaux changements sont : Mot-cl assert. Expressions ration