badr benmammar bbm@badr-benmammar

Download Badr Benmammar bbm@badr-benmammar

Post on 09-Jan-2016

38 views

Category:

Documents

6 download

Embed Size (px)

DESCRIPTION

Formation Dveloppeur Java. Introduction la programmation en Java. Badr Benmammar bbm@badr-benmammar.com. Plan. Introduction gnrale Langages compils Langages interprts Langages intermdiaires Introduction au JAVA Environnement de programmation JVM, JRE, JDK et SDK - PowerPoint PPT Presentation

TRANSCRIPT

  • Badr Benmammar

    bbm@badr-benmammar.com

    Introduction la programmationen Java

  • PlanIntroduction gnraleLangages compilsLangages interprtsLangages intermdiaires Introduction au JAVAEnvironnement de programmationJVM, JRE, JDK et SDKQuelques packages Package de base : java.langHistorique des versionsJ2SE, J2EE et J2METerminologieJAR, JCP et JSR JAVA, interprt ou compil ?

  • PlanSyntaxe et lments de bases de JavaTypes primitifsVariablesConstantesConversion de type de donnesConversion expliciteConversion impliciteLire les entres clavierOprateursFonctions mathmatiquesStructures de contrles des instructionsTableauxFonctionsProcdures

  • Langages de programmationLes 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.

  • 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.

  • 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.cgcc -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.

  • Langage interprtUn 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.

  • Langage interprt Un langage interprt a besoin dun interprteur. BASIC, MATLAB, PHP, Prolog, Perl.Le QBasic se lanait avec la commande : qbasic /run prog.basAvantage : le programme prog.bas est un fichier texte, facilement modifiable. Inconvnient : cest forcment plus lent que quand cest compil.

  • Quelques langages

  • Langages intermdiairesCertains 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).

  • JAVA : portabilit et fiabilitJAVA 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.

  • 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.

  • JAVA : compil ou interprt ?

  • 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.

  • 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.

  • Quelques packagesPackage de base : java.langToutes les classes et interfaces de java.lang sont automatiquement importes par le compilateur. Gestion de donnes et utilitaires : java.utilRassemble 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.appletLa 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.imageLes classes de ce package permettent de manipuler les images (gestion du chargement des images, filtres, gestion des couleurs,...).

  • Quelques packages Entres-sorties : java.ioRassemble 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.netRassemble les classes permettant de grer les accs rseau.Dfinit les classes d'exceptions :MalformedURLException.ProtocolException.SocketException.UnknownHostException.UnknownServiceException.

  • Quelques packagesInterface 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 : UnsupportedLookAndFeelExceptionJava 3D : javax.media.j3d Rassemble les classes de lAPI Java 3D (interface de programmation pour la plateforme Java visant la synthse d'image 3D).

  • Historique des versionsLe 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).

  • Historique des versionsJ2SE 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 versionsJ2SE 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 versionsJ2SE 1.4 (6 fvrier 2002 - 2 723 classes et interfaces) : les principaux changements sont : Mot-cl assert.Expressions rationnelles modlises en sinspirant du langage Perl.Chanage dexception.API de journalisation.API Image I/O pour lire et crire des images dans des formats comme JPEG et PNG.Intgration dun parser XML (pour extraire les donnes dun document XML et pour vrifier sa validit) et du moteur XSLT nomm JAXP.JAXP (Java API for XML Processing) est une API permettant la cration, la manipulation et le traitement de fichiers XML bas niveau.Intgration des extensions de scurit JCE (Java Cryptography Extension), JSSE et JAAS.Java Web Start (introduit pour la premire fois en mars 2001 pour J2SE 1.3).

  • Historique des versionsJ2SE 5.0 (30 septembre 2004 -