Introduction au langage JAVA
Transcription
Introduction au langage JAVA
Centre Universitaire d’informatique – Université de Genève Introduction au langage JAVA Mustapha EL ATIFI CUI - 2004 [email protected] Sommaire ¬ Introduction ¬ Caractéristiques du langage Java ¬ Fonctionnement ¬ Le langage ¬ Références 1 1 Introduction Caractéristiques Le langage Références Introduction ¬ Langage informatique ¬ Langage machine ¬ Langages évolués ¬ Programme ¬ Programmation 2 Introduction Caractéristiques Le langage Références Java - caractéristiques ¬ Java un langage de programmation à objets ¬ Plusieurs utilisations: communication entre client et BD, gestion de réseau, applications multi-tâches, systèmes embarqués, ... 3 2 Introduction Caractéristiques Le langage Références Java - caractéristiques ¬ Plusieurs caractéristiques: portabilité, simplicité, sécurité,… cf le livre blanc de java: http://java.sun.com/doc/language_environment ¬ Java est accompagné d’une bibliothèque de programmation connue sous le nom API JAVA 4 Introduction Caractéristiques Le langage Références Java - fonctionnement Code Java: source > compilation : bytecode Java> exécution par la machine virtuelle Java (JVM) Pseudo-code (bytecode) Fichier source m co éPr la pi Programme exécuté n tio compilateur compilateur m Co tio la pi e n- tio cu xe n Interpréteur Interpréteur 7 3 Introduction Caractéristiques Le langage Références Java - fonctionnement ¬ JDK, Java Development Kit ¬ javac: le compilateur Java javac -g nom_du_fichier.java ¬ java: un interpréteur d'applications (JVM) java nom_du_fichier ¬ applet viewer: un interpréteur d'applets appletviewer nom_de_l_applet.class ¬ jdb: un débogueur 9 Introduction Caractéristiques Le langage Références Java - fonctionnement ¬ javap: un décompilateur, pour revenir du bytecode au codesource ¬ javadoc: un générateur de documentation javadoc.exe -author -version -d DocFolder *.java ¬ jar: un compresseur de classes Java jar cvf nom_de_l_archive.jar repertoire jar xvf nom_de_l_archive.jar jar -jar nom_de_l_archive.jar ¬ API Java http://java.sun.com/j2se/1.4.2/docs/api/ 10 4 Introduction Caractéristiques Le langage Références Structure d’un programme java ¬ Structure générique package <nom_du_paquetage> import <paquetage>.<classe>; import <paquetage>.*; public class NomDeLaClasse{ //variables de classe //méthodes //méthode principale: public static void main (String args[]) { System.out.println("Hello World"); } } 11 Introduction Caractéristiques Le langage Références Structure d’un programme java ¬ toute instruction se termine par un point-virgule. ¬ La méthode(fonction) principale n’est pas obligatoire dans toutes les classes. Mais dans chaque programme on a besoin d’une telle methode pour déclancher son exécution. ¬ la méthode principale doit être appelée main(). Elle est appelée automatiquement par la machine virtuelle lorsque le programme est lancé. Par: java Programme arg1 arg2 … argn 12 5 Introduction Caractéristiques Le langage Références Structure d’un programme java Java permet de créer deux types de programmes : ¬ Les applications: public class Nom_du_programme { public static void main (String args[]) { System.out.println("Hello World"); } } 13 Introduction Caractéristiques Le langage Références Structure d’un programme java ¬ Les applets : public class Nom_de_l_applet extends java.applet.Applet { public void paint (Graphics g){ g.drawString("Hello World",20,40); } } 14 6 Introduction Caractéristiques Le langage Références Structure d’un programme java <HTML> <BODY> <APPLET code="FirstApplet.class" width="100" height="30" align="left"> Message s'affichant si l'applet n'est pas supportée par le navigateur </APPLET> </BODY> </HTML> 15 Introduction Caractéristiques Commentaires Le langage Références Bonnes habitudes: il faut commenter les programmes! /** Voici un commentaire Sur plusieurs lignes */ // Voici un commentaire sur une ligne /** Voici un commentaire Sur plusieurs lignes mais qui permet de documenter une application @author texte-nom @version 1.4.2 @param nom-paramètre description */ 16 7 Introduction Caractéristiques Le langage Références Les primitives du langage Java ¬ Java est un langage à objets. ¬ Les objets contiennent des données. ¬ Les données manipulées avec Java, sont typées, (java est fortement typé) 17 Introduction Caractéristiques Le langage Références Les primitives du langage Java ¬ Types: ¬ entiers (int), ¬ entier long (long) ¬ entier court (short) ¬ entier très court (byte) ¬ réels ou flottant c'est-à-dire à virgules (float), ¬ Flottant double (double), ¬ booléen(Boolean), True ou False ¬ caractère (char) 18 8 Introduction Caractéristiques Le langage Références Les primitives du langage Java Exemples: int UnEntier; int UnDeuxiemeEntier = 6; int E = UnDeuxiemeEntier – 2; char UnCaractere, UnDeuxiemeCaractere; float UnReel; Bonnes habitudes: il faut bien choisir les identificateurs des variables! 19 Introduction Caractéristiques Le langage Références Les primitives du langage Java ¬ Les enveloppeurs (Wrappers) Les primitives peuvent être "enveloppées" dans un objet provenant d'une classe prévue à cet effet ¬ BigDecimal : aucune primitive associée, car cette classe peut contenir des valeurs décimales de précision quelconque ¬ BigInteger : aucune primitive associée, car cette classe peut contenir des valeurs entières de précision quelconque ¬ Character : char ¬ Byte : byte ¬ Short : short 20 9 Introduction Caractéristiques Le langage Références Les primitives du langage Java ¬ Les enveloppeurs (Wrappers) Short short ¬ ¬ ¬ ¬ ¬ Integer : int Long : long Float : float Double : double Boolean : boolean 21 Introduction Caractéristiques Le langage Références Les primitives du langage Java ¬ Chaîne de caractères : Les chaînes de caractères ne correspondent pas à un type de données mais à une classe String s = "Bonjour"; ¬… 22 10 Introduction Caractéristiques Le langage Références Structures conditionnelles ¬ IF .. if (condition) { /* instruction ou bloc exécute si la condition est Vraie */ } 23 Introduction Caractéristiques Le langage Références Structures conditionnelles ¬ IF .. Else.. if (UnEntier ==4) { /* instruction ou bloc exécute si la condition est vraie */ } else if (UnEntier == 0) { /* instruction ou bloc execute si la condition2 est Vraie */ } else { // traitement alternatif } 24 11 Introduction Caractéristiques Le langage Références Structures conditionnelles ¬ switch case: (ne peut être utilisée qu'avec des entiers ou des caractères indiqués entre apostrophes ’x’. ) switch (expression) { case valeur1 : instruction(s) ; break ; /* on exécute les instructions si expression = valeur1 puis on quitte (break) */ case valeur2 : instruction(s) ; break ; // (break) n’est pas necessaire /* on exécute les instructions si expression = valeur2 puis on quitte (break) Si pas de (break), on continue */ // ... default : instruction(s); // on exécute ces instructions si aucune // valeur ne convient } Introduction Caractéristiques Le langage 25 Références Boucles ¬ For .. for (init; expression_test; incrémentation) { /* bloc ou instructions exécutées à chaque incrémentation jusqu’à ce que la condition_test soit fausse. */ } 26 12 Introduction Caractéristiques Le langage Références Boucles for (int i=0; i<=9; i++) { // instructions for (k=1; k< 11) //boucle imbriquée { /* bloc ou instructions exécutées à chaque incrémentation jusqu’à ce que k>=11. */ } // instructions } 27 Introduction Caractéristiques Le langage Références Boucles ¬ While .. while (condition) { // on exécute les instructions de ce bloc tant que // la condition est vraie } 28 13 Introduction Caractéristiques Le langage Références Boucles ¬ Do .. While do { // idem que ci-dessus mais les instructions de ce // bloc sont exécutées au moins une fois, que la // condition, en fin de boucle, soit vraie ou non } while (condition); 29 Introduction Caractéristiques Le langage Références Annexe: liste des mots réservés JAVA abstract double int strictfp boolean else interface super break extends long switch byte final native synchronized case finally new this catch float package throw char for private throws class goto * protected transient const * if public try continue implements return void default import short volatile do instanceof static while 30 14 Introduction Caractéristiques Le langage Références Editeurs ou environnements de développement Java ¬ Visual Age(IBM), http://www-306.ibm.com/software/awdtools/vajava/ ¬ JBuilder(Inprise > Borland), http://www.borland.com/jbuilder/ ¬ PowerJ(Sybase) http://www.sybase.com/products/internetappdevttools/powerbuilder ¬ IntelliJ IDEA (JetBrains), http://www.jetbrains.com/idea/ ¬ NetBeans IDE (Sun) http://www.netbeans.org/ ¬ JEdit, (Open Source) http://www.jedit.org/ ¬ Together,(TogetherSoft > Borland) http://borland.com/together/ ¬ BlueJ(Uni. Australia, Denmark, UK) http://www.bluej.org/ 31 Introduction Caractéristiques Le langage Références Références ¬ ¬ ¬ ¬ ¬ ¬ http://java.sun.com/ http://java.sun.com/docs/books/tutorial/java/TOC.html http://java.sun.com/j2se/1.4.2/docs/api/index.html http://cui.unige.ch/java/ http://www.eteks.com/coursjava/tdm.html … 32 15 Introduction Caractéristiques Le langage Références Références 33 Introduction Caractéristiques Le langage Références Références 34 16