Les fondements du langage Java1 Sun Services Java Programming Language Copyright 2005 K.ALLEM All Rights Reserved
Les fondements du langage Java2 Principales ressources Au cœur de Java Java comment programmer Thinking in Java Les cahiers du programmeur Java 1.4 et 5.0
Les fondements du langage Java3 Un exemple simple… public class ExempleSimple { public static void main (String [] args ) { System.out.println( Java n est pas seulement une île dindonesie…!! ); } public : est un modificateur daccès class : dans un programme Java, tout doit se trouver dans un classe static, void : ils sont nécessaires à la compilation main : chaque application Java doit disposer dune méthode main { } : les accolades sont employés pour délimiter les blocs du programme Java System.out.println( … ) ; : est une instruction Java ( lequivalent dun phrase de français)
Les fondements du langage Java4 Compilation et exécution Le fichier ExempleSimple.java Compilation : javac ExempleSimple.java on obtient ExempleSimple.class Exécution : java ExempleSimple
Les fondements du langage Java5 Commentaires… Ils napparaissent pas dans le programme exécutable et ils servent pour documenter un programme // ceci est un commentaire avec une seule ligne /* Ceci est un commentaire de plusieurs lignes */
Les fondements du langage Java6 Types de données Java est un langage fortement typé (le type de chaque variable doit être déclaré) Il existe 8 types primitifs (prédéfinies): Le type entier (4) Le type à virgule flottante (2) Le type caractère (1) Le type booléen (1)
Les fondements du langage Java7 Les types entiers Le type entier représente les nombres sans partie décimale. Java dispose 4 types: long8 octets à int4 octets à short2 octets à byte1 octets-128 à 127
Les fondements du langage Java8 Le types à virgule flottante Le type à virgule flottante exprime les nombres réels disposant dune partie décimale float4 octets+/ à +/ double8 octets+/ à +/
Les fondements du langage Java9 Le type caractère (char) ' H ' est un caractère " H " est une chaîne contenant un seul caractère Les valeurs littérales de type caractère se notent entre apostrophes (')
Les fondements du langage Java10 Le type booléen (boolean) il peut avoir deux valeurs, false ou true Il est employé pour lévaluation de conditions logiques
Les fondements du langage Java11 Les variables… Comment déclarer une variable? En Java toute variable a un type Syntaxe : type variable ; Exemples : double salaire ; long populationDuMonde; boolean terminé ; int i, j ; // correct mais pas recommandé Attention java est sensible à la casse et à lusage des mots clés
Les fondements du langage Java12 Affectations et initialisations Comment initialiser une variable? Une variable déclarée devra être initialisée à laide dune instruction daffectation Comment affecter une variable? Laffectation dune variable déclarée se fait à laide du symbole dégalité (=) Exemple : int nombreEnfants; // cela est une déclaration nombreEnfants = 3; // cela est une affectation int nombreEnfants = 3; // cela est une initialisation
Les fondements du langage Java13 Les constantes… final : cest un mot clé qui sert à designer une constante public class ExempleSimple { public static void main (String [] args ) { final …… System.out.println( Java n est pas seulement une île dindonesie ); } final signifie quon affecte une valeur à la variable une seule fois, et une fois pour toutes. static & final créent une constante qui est accessible à plusieurs méthodes de la même classe
Les fondements du langage Java14 Les opérateurs Les opérateurs habituels (+ - * / ) La fonction mod : le reste dune division entière Diviser un entier par 0 déclenche une exception Linstruction x += 2; équivalent à x = x + 2;
Les fondements du langage Java15 Opérateurs : incrémentation et décrémentation Incrémenter : x++ cest ajouter 1 à la valeur courante Décrémenter : x-- cest retrancher 1 à cette valeur Exemple :int m = 5; int n = 5; int a = 2 * ++m; //a = 12, m =6 int b =2 * n++; // b = 10, C++ ou ++C ??
Les fondements du langage Java16 Opérateurs arithmétiques
Les fondements du langage Java17 Opérateurs logiques
Les fondements du langage Java18 Opérateurs de comparaison
Les fondements du langage Java19 Comprendre la portée Les règles de portée déterminent où est reconnue une variable dans un programme. Les variables appartiennent à deux catégories de portée principales : Variables globales : Variables reconnues dans toute une classe. Variables locales : Variables reconnues uniquement dans le bloc de code où elles sont déclarées.
Les fondements du langage Java20 Exemple : class Portée { int x = 0; void méthode1() { int y; y = x; // Cela fonctionne. méthode1 peut accéder à y. } void méthode2() { int z = 1; z = y; // Cela ne fonctionne pas : // y est définie hors de la portée de méthode2. }
Les fondements du langage Java21 La boucle while La boucle while est utilisée pour créer un bloc de code qui sera exécuté tant quune condition particulière est satisfaite. Voici la syntaxe générale de la boucle while : while ( ) { }
Les fondements du langage Java22 Exemple int x = 0; //Initialise x à 0. while (x < 10) { //Instruction de condition booléenne. System.out.println("Bouclage"); //Imprime "Bouclage" une fois. x++; //Incrémente x pour litération suivante. }
Les fondements du langage Java23 La boucle for La boucle for est la plus puissante des constructions de boucles. Voici la syntaxe générale dune boucle for : for ( ; ; ) { }
Les fondements du langage Java24 Exemple for (int x = 0; x < 10; x++) { System.out.println("Bouclage"); }
Les fondements du langage Java25 Un peu de vocabulaire… Une classe est le modèle ou le matrice de lobjet Construire un objet à partir dune classe, cest créer une instance de cette classe Lencapsulation consiste à combiner les attributs et les méthodes dans lobjet et à dissimuler limplémentation des données aux utilisateurs de lobjet
Les fondements du langage Java26 Les objets Identifier les trois caractéristiquement dun objet : Le comportement de lobjet : Quelles méthodes peut on appliquer à cet objet ? Létat de lobjet : Comment lobjet réagit-il lorsquon lui applique ces méthodes ? lidentité de lobjet : Comment lobjet se distingue-t-il des autres qui peuvent avoir le même comportement et le même état ?
Les fondements du langage Java27 Objets et variables objets Pour construire des nouvelles instances on utilise les constructeurs Un constructeur est une méthode spéciale dont le but est de construire et dinitialiser les objets Un constructeur a toujours le même nom que la classe Pour construire un objet, on combine le constructeur avec lopérateur new Exemple : new Date() // pour construire un objet Date
Les fondements du langage Java28 Objets et variables objets Date anniversaire = new Date( ); /*on stocke lobjet construit dans une variable*/ Il existe une différence entre les objets et les variables objets Date dateLimite; /* on déclare une variable objet qui peut référencer des objets de type Date, dateLimite nest pas un objet et ne référence encore aucun objet */ dateLimite = new Date( ) ; // on doit initialiser la variable dateLimite dateLimite = anniversaire; /* la variable dateLimite référence un objet existant, une autre possibilité pour initialiser la variable dateLimite */ dateLimite = null; // la variable objet ne référence aucun objet
Les fondements du langage Java29 Conclusions…
Les fondements du langage Java30 Java est orienté objet… Java a toutes les caractéristiques dun langage objet; il permet de définir des classes comportant des descriptions dattributs (variables) et dopérations (méthodes)utilisables sur des objets. Les objets communiquent entre eux et réagissent aux événements issus de leur environnement par le biais de messages.
Les fondements du langage Java31 Java est fortement typé… Toute donnée manipulée par Java doit être typée. Le type peut être soit un type de base (int, float, char, boolean...) soit un nom de classe du JDK ou créée par lutilisateur.
Les fondements du langage Java32 Java est déclaratif… Tout objet ou variable doit être déclaré avant dêtre manipulé. La déclaration comporte de manière classique un type et lidentificateur de donnée. int nb = 10;
Les fondements du langage Java33 Java est structuré… Structuré en packages (ensembles de classes), classes et méthodes. Lors de lexécution, les instructions de contrôle de flot (branchements, boucles...) sont elles mêmes structurées. for (i=0; i < 10; i++) { if (i == 5) { System.out.println(milieu!); }
Les fondements du langage Java34 Java est... beau ! Java est très agréable (à programmer) et permet de développer vite et simplement des applications complexes.
Les fondements du langage Java35 Architecture dun programme Java Programme Java = ensemble de classes pouvant être regroupées en packages Classe = attributs + méthodes Méthode = unique unité de code
Les fondements du langage Java36 Programme Java = ensemble de classes pouvant être regroupées en packages Java est un langage orienté objet. Le composant de base dun programme Java est donc la classe, qui agit comme modèle permettant de fabriquer des objets. Les classes peuvent être regroupées en modules appelés packages.
Les fondements du langage Java37 Classe = attributs + méthodes Un classe comporte un ensemble de définitions dattributs et un ensemble de méthodes que lon pourra utiliser sur tous les objets de cette classe.
Les fondements du langage Java38 Méthode = unique unité de code Le code source dun programme Java doit se situer uniquement à lintérieur du corps des méthodes
Les fondements du langage Java39 Exemple: public class Point { // Les attributs private int x; private int y; // Les méthodes public void setXY(int px, int py) { x = px; y = py; } public int getX() { return x; } public int getY() { return y; }
Les fondements du langage Java40 Les tableaux En Java les tableaux sont des objets référencés. Le type tableau est assimilable à une classe Déclaration dun tableau int tableau1[ ]; int[ ] tableau2; int matrice[ ][ ]; Un tableau doit être alloué dynamiquement, comme tout objet Java (à laide de lopérateur new) int tab[10]; // ne compile pas
Les fondements du langage Java41 Les tableaux Allocation et initialisation int tab1[ ] = new int[10]; int mat[ ][ ] = new int[4][5]; int tab2[ ] = {1,2,3,4} - Un tableau nest pas un type élémentaire. Une variable de type tableau est donc une référence sur un tableau. pour créer ce tableau nous utilisons lopérateur new. Cest une allocation dynamique. - Il est également possible de créer le contenu dun tableau lors de la déclaration en fournissant la liste complète de ses éléments.
Les fondements du langage Java42 Les tableaux Utilisation int tab1[ ] = new int[10];... // utilisations correctes tab1[0] = 100; tab1[1] = 200; // mais ceci nest pas correct tab1[10] = 1000;
Les fondements du langage Java43 Les tableaux - En Java les tableaux sont toujours indexés par des int et le premier élément commence à lindice 0. - tab[tab.length - 1] est le dernier élément du tableau - Si le tableau est alloué avec une taille inférieure à zéro ou si on tente daccéder un élément ne se trouvant pas entre le premier et le dernier élément compris, une exception est générée.