J100 (JSB)

Click here to load reader

  • date post

    01-Jan-2016
  • Category

    Documents

  • view

    35
  • download

    0

Embed Size (px)

description

J100 (JSB). Java : Syntaxe de Base. Les variables système. CLASSPATH=c:\Rep_JDK\lib\classes.zip;. Indique le chemin des bibliothèques de classes, aussi bien pour la compilation que l ’exécution. Le path PATH=$PATH:$Rep_JDK\bin Indique la situation de java et javac - PowerPoint PPT Presentation

Transcript of J100 (JSB)

  • J100 (JSB)

    Java : Syntaxe de Base

    ~ Brigitte Grolas ~

  • Les variables systmeCLASSPATH=c:\Rep_JDK\lib\classes.zip;.Indique le chemin des bibliothques de classes, aussi bien pour la compilation que lexcution.Le path PATH=$PATH:$Rep_JDK\binIndique la situation de java et javacLa documentation de sun en apijava.sun.com/j2se/1.5.0/docs/api/index.htmlJAVA_HOME doit indiquer la racine de Java

    ~ Brigitte Grolas ~

  • HistoriqueEn 1990 James Gosling : langage Oak pour faciliter limplmentation de logiciels pour llectronique grand publique 1994 : explosion du Web sur lInternet 1995 : Gosling prsente la version Bta de HotJava1996 : Sun rend publique la premire version Bta du JDK (Java Development Kit)1997 : Sun sort la version 1.1 du JDK qui reprend lintgralit des API du JDK 1.0 2005 : java 1.5 dernire version

    ~ Brigitte Grolas ~

  • Prsentation du langage Java Simple et orient objet Robuste, fiable et sr Efficace et riche Interprt, indpendant de larchitecture et rapidePortable Multitche (multithread) Rparti Dynamique et distribu

    ~ Brigitte Grolas ~

  • Structure dune application Javapublic class Essai {public static void main( String argv[] ) {System.out.print( "coucou\n" );}} javac Essai.java java Essai Fichier source une seule classe publique nom du fichier = nom de la classe publique .java Le code est excut sur la machine virtuelle java (JVM pour Java Virtual Machine).

    ~ Brigitte Grolas ~

  • Programmation modulaire: les packages Rpertoire:toto/titi/tataNom du package:toto.titi.tataimport toto.titi.tata.essai;import toto.titi.tata.*; java.appletClasses pour implmenter les applets.java.awtClasses pour les graphiques (GUI) .java.awt.imageClasses pour le traitement des Imagesjava.awt.peerInterfaces avec les environnements natifsjava.ioClasses pour les entres/sortiesjava.langClasses de base du langage.java.netClassespour la communication rseaux.java.utilClasses dutilitaires. Le package java.lang est automatiquement import dans tous les sources Java.

    ~ Brigitte Grolas ~

  • Les variablesPeuvent tre de 2 natures : primitive rfrence un objet ou un tableau

    Toute variable locale doit tre initialise explicitement avant de pouvoir utiliser sa valeur Ce n'est pas le cas des variables d'instance

    ~ Brigitte Grolas ~

  • Les packagesL'instruction package indique quel package appartient la classe du fichier. C'est la premire instruction du fichierPar dfaut une classe appartient au paquetage anonymeL'instruction import permet de rfrencer des classes sans les prfixer du nom de leur package.

    ~ Brigitte Grolas ~

  • Types grs par valeur: types primitifs typevaleur par dfautcharcaractre unicode\u0000booleanvaleur boolenne falsebyteentier sign 8 bits0shortentier sign 16 bits0intentier sign 32 bits0longentier sign 64 bits0floatflottant 32 bits0.0 fdoubleflottant 64 bits0.0

    ~ Brigitte Grolas ~

  • Des classes associes Des classes sont Boolean, Character, Integer, Long, Float et Double. Elles permettent de dfinir des constantes et des mthodes utiles.

    short et byte ne sont que des types de stockage Pour crer des objets partir de type primitifs Integer.parserInt("123"); MIN_VALUE Integer i = new Integer(1); int j = i.intValue();

    ~ Brigitte Grolas ~

  • Types grs par rfrences: Les objets Instanciation et destruction des objets ClassName x;//Cre la rfrencex = new ClassName(); //Cre lobjet et le rfrence par x

    2 variables diffrentes peuvent dsigner le mme objetClassName x = new ClassName();ClassName y = x; //x et y dsignent tous deux le mme objet!

    objTasref

    ~ Brigitte Grolas ~

  • Copier un objet : la mthode clone() si elle est implmente par la classe en question (Classes implmentant linterface Cloneable ).ClassName x = new ClassName();ClassName y = x.clone();

    Tester lgalit entre 2 objets : une mthode spcialement conue pour comparer les objets. En java, un certain nombre de classes redfinissent la mthode equal() de la classe Object.

    ~ Brigitte Grolas ~

  • Les Tableaux Les rfrencesint tab1[];ou int []tab1;ClassName tab2[];ou ClassName [] tab;

    Instanciation de tableaux tab1= new int[100];tab2= new ClassName[10];

    int tab[] = { 1, 2, 3, 4, 5};String dico[]= { "hiboux", "choux", "genoux" }; La cration dun tableau ne cre pas les objets contenus dans le tableau Un tableau est considr comme un objet. Il est manipul via une rfrence

    ~ Brigitte Grolas ~

  • vous (sur le papier)Rservez une rfrence velo sur un tableau dentiersSur la rfrence velo, intanciez un tableau de 10 entiersRserver un entier i, initialis 0Tant que i est plus petit que 10Mettre 12 dans la ime case de veloAugmenter i de 1Fin de la boucle

    ~ Brigitte Grolas ~

  • int[] velo;velo = new int[10];int i = 0;while( i < velo.length ) {velo[i] = 12;i = i +1;}

    ~ Brigitte Grolas ~

  • int[] velo;velo = new int[10];

    for(int i = 0; i < velo.length; i = i +1) {velo[i] = 12;}

    ~ Brigitte Grolas ~

  • Tableaux multidimensionnels int tab[][][] = new int[5][4][3]; int tab[][] = new int[3][]; 3 rfrences sur des int[]tab[0] = new int[2]; 1er s/s tableau: 2 casestab[1] = new int[3]; 2eme s/s tableau: 3 casestab[2] = new int[4];3eme s/s tableau: 4 cases Il nest pas obligatoire de stipuler le nombre dlments contenus pour chaque dimension (seule la premire est obligatoire)int tab[][] = { { 1, 2}, { 3, 4, 5 }, { 6, 7, 8, 9 } };

    ~ Brigitte Grolas ~

  • vous Crer une rfrence titi sur un tab 2 dimensions dentiersSur la rfrence titi crer un tableau de 5 tableaux dentiersChacune des cases de titi contiendra la rfrence dun tableau dentiersDans titi[0] crez un tab de 1 entierDans titi[1] crez un tab de 2 entiersDans titi[2] crez un tab de 3 entiersDans titi[3] crez un tab de 4 entiersDans titi[4] crez un tab de 5 entiers

    ~ Brigitte Grolas ~

  • Accs aux lments et aux dimensions int tab[][]= new int[10][20];System.out.println( tab.length );// imprime 10System.out.println( tab[0].length );// imprime 20 Tous les accs aux tableaux sont contrls. Une erreur (Exception) de type :ArrayIndexOutOfBoundsException est gnre en cas de dbordement.

    ~ Brigitte Grolas ~

  • Les Chanes de caractres: String java.lang.StringString s = "Bonjour";

    String s = "Coucou";StringBuffer buf = new StringBuffer( s );buf.append( " me revoilou" );System.out.println( buf );

    loprateur + int i = 5;System.out.println( "i = " + i ); Si une oprande nest pas de type String, elle est convertie en une chane pour les types primitifs ou via la mthode toString() pour les types non-primitifs.

    ~ Brigitte Grolas ~

  • Les Oprateurs 1PRECNOMOPERANDEASSOCIATIVITE1++, --, +, -numriqueD~entierD!booleenDnew, (type)tout typeD2*, /, %numriqueG3+, -numriqueG+StringG4>>, >entierG5>, >=,
  • Les Oprateurs 2PRECNOMOPERANDEASSOCIATIVITE6==,!=primitif,rfrenceG7&entier ou booleenG8^entier ou booleenG9|entier ou booleenG10&&booleenG11||booleenG12?:booleen,exp,expD13 =, +=, -=, *=, /=, %=, variable, expD=,>>>=, &=, |=, ^=

    ~ Brigitte Grolas ~

  • Sens d'valuation La flche --> indique que les oprateurs sont valus de la gauche vers la droite. C'est le cas de la majorit des oprateurs. La flche 5 && x < 7 (x5) && (x 7 x = ( y > 7 )

    ~ Brigitte Grolas ~

  • Oprateurs Arithmtiques - Moins unaire -X - Division X / Y - Multiplication X * Y - Modulo X % Y - Addition X + Y - Soustraction X - Y Division.est entire lorsque les 2 termes de l'expression sont entiers. Si 1 des termes est float ou double, elle sera relle. Le modulo (reste de la division entire) ne peut s'employer que sur des types entiers

    ~ Brigitte Grolas ~

  • Oprateurs binaires Complment binaire Et binaire Ou inclusif binaire

    Ou exclusif binaire

    X = 1 1 0 0 1 0 1 1 Y = 1 1 1 0 0 0 1 1 ----------------- X & Y = 1 1 0 0 0 0 1 1 X = 0 0 1 1 0 0 1 1 ----------------- ~X = 1 1 0 0 1 1 0 0 X = 1 1 0 0 1 0 1 1 Y = 1 1 1 1 0 0 0 1 ------------------------ X | Y = 1 1 1 1 1 0 1 1 X = 1 1 0 0 1 0 1 1 Y = 1 1 1 1 0 0 0 1 ------------------------ X ^ Y = 0 0 1 1 1 0 1 0

    ~ Brigitte Grolas ~

  • ExemplesExemple: Isoler les 3 derniers bits d'un mot. X = b7 b6 b5 b4 b3 b2 b1 b0 7 = 0 0 0 0 0 1 1 1 ------------------------- X & 7 = 0 0 0 0 0 b2 b1 b0

    Exemple: tester si le bit b3 du mot X est 1. X = b7 b6 b5 b4 b3 b2 b1 b0 8 = 0 0 0 0 1 0 0 0 ------------------------- X & 8 = 0 0 0 0 b3 0 0 0

    ~ Brigitte Grolas ~

  • DcalageDcalage droite

    Dcalage gauche 5 = 0 0 0 0 0 1 0 1 ------------------------ 5 >> 1 = 0 0 0 0 0 0 1 0 = 5/2 = 2 (division entire) 5 = 0 0 0 0 0 1 0 1 ---------------- 5

  • Oprateurs d'Inc/Dcrmentation - pr-incrmentation ++X - post-incrmentation X++ - pr-dcrmentation --X - post-dcrmentation X--