Introduction au langage JAVA Centre Universitaire d’informatique – Université de Genève Introduction au langage JAVA Mustapha EL ATIFI CUI - 2004 elatifi@cui.unige.ch
Caractéristiques du langage Java Fonctionnement Le langage Références Sommaire Introduction Caractéristiques du langage Java Fonctionnement Le langage Références 1
Introduction Langage informatique Programme Programmation Caractéristiques Le langage Références Introduction Langage informatique Langage machine Langages évolués Programme Programmation Although most of the UNL infrastructure and architecture has been already researched and designed, it is still at an early stage of applications development. One of the goals to be reached during the UNL application development process is how to represent the distribution of a same textual content in different languages, taking into account all the elements of a Graphical User Interface (GUI). For those who are used to deal with GUI for standard web pages to start working with Adaptive User Interfaces (AUI) in different cultures and languages environment becomes a huge step. 2
Java - caractéristiques Java un langage de programmation à objets 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
Java - caractéristiques Plusieurs caractéristiques: 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
Compilation-execution Introduction Caractéristiques Le langage Références Java - fonctionnement Code Java: source > compilation : bytecode Java> exécution par la machine virtuelle Java (JVM) Programme exécuté Fichier source Pseudo-code (bytecode) Compilation-execution Pré-compilation compilateur Interpréteur 7
Java - fonctionnement JDK, Java Development Kit 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 L'option -g permet tout simplement d'inclure dans le pseudo-code des informations de débogage afin de pouvoir utiliser le débogueur jdb. … 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/ L'option -g permet tout simplement d'inclure dans le pseudo-code des informations de débogage afin de pouvoir utiliser le débogueur jdb. … 10
Structure d’un programme java 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
Structure d’un programme java 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 méthode 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
Structure d’un programme java 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
Structure d’un programme java 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
Structure d’un programme java 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
Commentaires 16 /** Voici un commentaire Sur plusieurs lignes */ Introduction Caractéristiques Le langage Références Commentaires Bonnes habitudes: il faut commenter les programmes! /** Voici un commentaire Sur plusieurs lignes */ // Voici un commentaire sur une ligne Sur plusieurs lignes mais qui permet de documenter une application @author texte-nom @version 1.4.2 @param nom-paramètre description */ 16
Les primitives du langage Java 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
Les primitives du langage Java 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
Les primitives du langage Java 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
Les primitives du langage Java 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
Les primitives du langage Java 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
Les primitives du langage Java 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
Structures conditionnelles Introduction Caractéristiques Le langage Références Structures conditionnelles IF .. if (condition) { /* instruction ou bloc exécute si la condition est Vraie */ } 23
Structures conditionnelles 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
Structures conditionnelles 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 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 } 25
Boucles For .. 26 for (init; expression_test; incrémentation) { Introduction Caractéristiques Le langage 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
Boucles 27 for (int i=0; i<=9; i++) { // instructions 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. */ } 27
Boucles While .. 28 while (condition) { 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
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
Annexe: liste des mots réservés JAVA 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 Ne peut être un nom de variable: true, false or null 30
Editeurs ou environnements de développement Java 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
Références http://java.sun.com/ 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
Introduction Caractéristiques Le langage Références Références 33
Introduction Caractéristiques Le langage Références Références 34