Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting

Documents pareils
as Architecture des Systèmes d Information

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Programmer en JAVA. par Tama

Initiation à JAVA et à la programmation objet.

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Une introduction à Java

Plan du cours. Historique du langage Nouveautés de Java 7

INITIATION AU LANGAGE JAVA

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

TP1 : Initiation à Java et Eclipse

Généralités sur le Langage Java et éléments syntaxiques.

Cours 1: Java et les objets

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

PROGRAMMATION PAR OBJETS

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Java c est quoi? Java pourquoi?

Langage Java. Classe de première SI

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Programmation en Java IUT GEII (MC-II1) 1

Java Licence Professionnelle CISII,

Java Licence Professionnelle CISII,

COMPARAISONDESLANGAGESC, C++, JAVA ET

Programmation Orientée Objet application au langage Java Version Novembre 2007

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET


Héritage presque multiple en Java (1/2)

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

INF 321 : mémento de la syntaxe de Java

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Programmation par les Objets en Java

Chapitre I Notions de base et outils de travail

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

TP1. Outils Java Eléments de correction

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Programmation Orientée Objets Le Langage JAVA

Objets et Programmation. origine des langages orientés-objet

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

La technologie Java Card TM

Chapitre 10. Les interfaces Comparable et Comparator 1

Apprendre Java en 154 minutes

Génie Logiciel avec Ada. 4 février 2013

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

TD3: tableaux avancées, première classe et chaînes

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

Introduction au langage C

Chapitre VI- La validation de la composition.

Auto-évaluation Programmation en Java

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

TP, première séquence d exercices.

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

CPR Informatique. (poste 3159 ou 3164) Septembre 2002

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Initiation à la programmation orientée-objet avec le langage Java

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

La carte à puce. Jean-Philippe Babau

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Programmation avec des objets : Cours 7. Menu du jour

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Notions fondamentales du langage C# Version 1.0

Utilisation d objets : String et ArrayList

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Premiers Pas en Programmation Objet : les Classes et les Objets

Claude Delannoy. 3 e édition C++

Présentation de Java. Olivier de Pertat IT GROUP

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Programmation par composants (1/3) Programmation par composants (2/3)

Programmation Objet Java Correction

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

DES CONCEPTS OBJET PAR JAVA

Remote Method Invocation (RMI)

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Java - la plateforme

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

CIE303 - Programmation Orientée Objet en Java

Bases Java - Eclipse / Netbeans

Chapitre 2. Classes et objets

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

Introduction. Introduction au langage Java. Un livre de Wikilivres.

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Support de cours et TD Programmation Orientée Objet

1. Langage de programmation Java

Annexe : La Programmation Informatique

Classe Interne, Anonyme & Enumération

Environnements de développement (intégrés)

Initiation à la Programmation Java

TD/TP PAC - Programmation n 3

Java 1.5 : principales nouveautés

Introduction au langage Java

Transcription:

Cours de Java Benjamin FAUCHER Cubis-Helios Consulting

Cours 1 : Les bases du Langage Java 1/2 I. Introduction II. Compilation III. Rappel sur la POO IV. Les classes Java V. Syntaxe de base du Java Langage Java - Cours I : Les bases 1 2

I. Introduction : 1. Historique 1/2 Java est un langage orienté objet qui s'inspire du langage C++. mis au point en 1991 par James Gosling de Sun Microsystems, dans le but d être intégré dans des appareils électroménagers, afin de pouvoir les contrôler, de les rendre interactifs, et surtout de permettre leur communication Inclut dans un projet nommé Green, visant à créer une télécommande universelle (Star 7) comprenant un système d'exploitation capable de gérer l'ensemble des appareils électroménagers de la maison. reprend les caractéristiques principales du C++, en éliminant ses points difficiles, et en le rendant moins encombrant et plus portable baptisé dans un premier temps Oak (chêne), puis rebaptisé Java en l'honneur de la boisson préférée des programmeurs, c'est-à-dire le café, dont une partie de la production provient de l'île Java. Langage Java - Cours I : Les bases 1 3

I.1 Historique 2/2 Apparition du Web à la même époque : rassemblement sur une même structure des machines différentes => nécessité d un langage capable de fonctionner sur chacune d'entre-elles => portabilité de Java. Le web était limité en bande passante: Java a donc été conçu pour être concis. Ainsi, en 1994, l'équipe décida de mettre au point un navigateur (baptisé HotJava) intégrant Java et capable de faire fonctionner des applets (des petites applications fonctionnant dans un navigateur). C'est ainsi que fin 1995 Java eut un terrible essor avec le soutien de Netscape, qui ne tarda pas à inclure Java dans son navigateur. Depuis sa création, Sun continue à faire évoluer le Java au travers du JDK. Langage Java - Cours I : Les bases 1 4

I.2 (Faux) Héritage du C++ Le Java s est inspiré de la syntaxe, néanmoins, il reste un langage à part entière qui de plus diffère du C++ sur un certain nombre de concepts qui les opposent dans leur mode programmation : notions issues du C++ exclues de Java : Les pointeurs La surcharge d'opérateurs ( +,-, /, *, =, [], <<, etc... ) L'héritage multiple La libération de mémoire est transparente pour l'utilisateur, gérée entièrement par le Garbage Collector (il n'est plus nécessaire de créer des destructeurs) Une meilleure gestion des erreurs ( Arborescence d'exceptions ) Les chaines et les tableaux sont désormais des objets faisant partie intégrante du langage Toutefois Java est beaucoup moins rapide que le langage C++, il perd en rapidité ce qu'il gagne en portabilité. Langage Java - Cours I : Les bases 1 5

I.3 Domaines d applications 2 formes de programmes : Applications normales : programmes s exécutant sous l OS de la machine ~ programmes C ou C++ Applets : application conçue pour être transférée sur Internet, exécutée par un navigateur qui prend en charge Java réutilisation d'un travail de programmation dans un grand nombre de domaines : API dans un grand nombre de domaine : interface graphique, multi-threading, protocoles réseaux, accès aux BD, Web, XML, sécurité, cryptographie, traitement de l'image... Le Java permet donc grâce à son API un gain de temps dans la conception, il reste néanmoins un langage peu performant en temps d exécution pour des applications lourdes. Langage Java - Cours I : Les bases 1 6

II. Compilation 1. Langage Compilé Langage Java - Cours I : Les bases 1 7

II.2 Langage interprété : Java 1/2 Langage Java - Cours I : Les bases 1 8

II.2 Langage interprété : Java 2/2 Le java est donc un langage compilé, dont la «portabilité» réside au niveau du bytecode (= jeu d instructions optimisées ) : une fois le fichier source précompilé, n importe quel système muni d une Java Virtual Machine (JVM) peut alors l exécuter. Les JVM peuvent être installer avec un Java Développement Kit, ou intégrés aux navigateurs Web. Cette particularité engendre une certaine sécurité des applications, puisque la JVM exécute les programmes, et veille à la portée des instructions ( moins de risque de Virus, pour des applications en ligne ) La lenteur du Java s explique donc par le fait que la JVM doit traduire le bytecode, toutefois le Java reste relativement rapide par rapport aux autres langages interprétés. Langage Java - Cours I : Les bases 1 9

I.3 Comparaison avec d autres langages Java Smalltalk TLC Perl Shells C C++ Simple + + + + - + - + - - Orienté Objet + + - + - - + Robuste + + + + + - - Sécurisé + + - + - + + - - - Interprété + + + + + - - Dynamique + + + + + - - - Portable + + - + + - - - Threads + - - + - - - Garbage Collector + + - - - - - Exceptions + + - + - - - Performance Haute Moyenne Basse Moyenne Basse Très Haute Très Haute Légende : + : présent - : absent + - : plus ou moins présent Langage Java - Cours I : Les bases 1 10

I.4 Compiler/Exécuter Les fichiers sources sont écrits dans des fichiers d extensions.java, leur compilation s effectue à l aide de la commande «javac <fichiersource>.java», qui décrit les éventuelles erreurs de programmations Si le code source contenu dans le fichier est correct, le compilateur javac (java-compiler) crée alors un fichier <fichiersource>.class contenant le bytecode correspondant. Pour exécuter le programme correspondant, il faut lancer la JVM par la commande «java <fichiersource>» Les Applets peuvent également être compilées de la même manière, mais leur «exécution» se fait de manière différente Langage Java - Cours I : Les bases 1 11

III. Rappel sur la POO : Contrairement au C++, en java, un programme doit toujours être orienté objet. Nécessité d un autre modèle que le modèle «linéaire» pour des applications plus importantes => modèle objet (+ organisé) Notion d «Abstraction» : on hiérarchise en composants auxquels on attribut des capacités à différents niveaux. ex : une voiture peut être vue comme un ensemble composée de différent composants : moteur, carrosserie.. Eux-même composés d autres composants La POO est basée sur trois principes fondamentaux.: Encapsulation, Héritage et Polymorphisme. Langage Java - Cours I : Les bases 1 12

III.1 Encapsulation Protège certaines données d un objet, en définissant les entités qui pourront être perçues de l extérieur de l objet, ainsi que la façon dont celles-ci pourront être manipulées Cette protection est nécessaire soit pour des raisons de confidentialités de données, soit (plus souvent) afin d éviter des effets de bords. En java, l encapsulation est basée sur notion de classe : modèle qui définit la structure et le comportement de tout objet instancié à partir de celle-ci. Classe = structure Logique ; Objet = structure physique Une classe permet de définir des variables (données ) et des méthodes (code agissant sur les données = fonctions ) qui seront similaires pour tout objet instancié. Ces méthodes ou varaibles peuvent être publiques ou privées selon s il on souhaite qu elle soit connue et utilisable de l extérieur de la classe ou au contraire masquée. Langage Java - Cours I : Les bases 1 13

III.2 Héritage Héritage = processus par lequel un objet reçoit des propriétés par un autre de manière hiérarchique Une classe qui hérite, reçoit toutes les variables ainsi que les méthodes de sa classe mère. Elle est ensuite libre de redéfinir les méthodes héritée à sa guise, tout comme elle peut en ajouter de nouvelle ou de nouvelles variables. En java, l héritage est arborescent, et une classe ne peut pas hériter de deux classes. En java, chaque classe hérite de la classe Object, qui est la racine de l arborescence des classes Java. Langage Java - Cours I : Les bases 1 14

III.3 Polymorphisme 2 types de polymorphismes : Polymorphisme ad-hoc : ajout de méthode de même nom mais ayant une signature différente (= surcharge) Polymorphisme d héritage : Possibilité par le biais d une redéfinition d une méthode dans une classe fille, d obtenir un comportement différent pour une méthode pour des objets Les objets d une classe «TrucEnBois» héritant d une «Truc» peuvent donc être amenée à lancer une méthode héritée en temps que «Truc», alors que cette méthode peut entre temps avoir été redéfinie. Langage Java - Cours I : Les bases 1 15

IV. Les Classes Java 1. Déclaration 1/3 Une classe java est définit par le mot-clé «class» suivie de son nom ex : class Test { // Bloc d instruction : variables et méthodes } La portée de la classe est déclarée par un spécificateur d accès «public», qui déclare que la classe peut être vue par toutes les autres classes extérieures, dans le cas contraire, la classe sera inconnue des autres classes, et par conséquent exploitable que localement. Un fichier.java peut contenir autant de classes non-publique que possible Une classe ne peut contenir au maximum qu une seule classe publique, le fichier.java doit alors porter le nom de cette classe publique. Inner-class : il est possible de déclarer une classe dans le bloc d une autre classe, celle-ci est alors non-publique et n est connue que de la classe «hôte». Langage Java - Cours I : Les bases 1 16

IV.1 Déclaration 2/3 Pour créer un programme en java, on définit tout d abord un certain nombre de classe, dont ont spécifie les variables et méthodes ainsi que la portée. Tout ceci crée donc un système d objet prêt à réagir. Nécessité d un ensemble d instructions déclencheur : celui ci est contenu dans une méthode main() Un programme Java mettant en jeu plusieurs classes, ne doit comporter qu un seul main(), celui ci est alors déclaré dans la classe principale, et c est celle ci que l on exécutera par la suite. La déclaration du main() en java est toujours de cette forme : public static void main(string args[]){ // block d instructions } L héritage d une classe est déclaré par le mot-clé «extends» ex : public class A extends B { // block } Langage Java - Cours I : Les bases 1 17

IV.1 Déclaration 3/3 Exemple : premier programme /* ce programme doit être écrit dans un fichier : HelloWorld.java */ class HelloWorld { // Le programme commence par l appel de main(). public static void main(string args[]) { // Affichage de la chaîne : «Hello World!!!» System.out.println(«Hello World!!!»); } } Langage Java - Cours I : Les bases 1 18

IV.2 Constructeur et Instanciation Un constructeur permet de définir un certain nombre d instructions qui devront être déclenchées au moment de la création d un objet. En java, il n y a pas de destructeur, géré par le Garbage Collecteur En java, on peut définir un certains nombre de constructeur pour une même classe, ceux-ci ayant tous des signatures différentes. Le constructeur ~ une méthode ayant le même nom que la classe : ex : class Truc { Truc () { // instructions} Truc(int entier) { // instructions } } Instanciation d un objet à partir d une classe par le mot-clé «new» (allocation dynamique ) : ex : new Truc(); ou new Truc(1); Avant, l instanciation, un Objet vaut «null» ( non-utilisable ) Langage Java - Cours I : Les bases 1 19

IV.3 Forme générale d une classe Ex : // Exemple.java <spécificateur d accès classe> class Exemple { <spécificateur d accès> <type> variable1; <spécificateur d accès> <type> variable2; Exemple() { // instructions constructeur1 } Exemple(<paramètres>) { // instructions constructeur2 } <spécificateur d accès> <type> méthode1(<types> <paramètres>){ / instructions méthode1 return <valeur ayant le type <type> >; } } Langage Java - Cours I : Les bases 1 20

IV.4 Spécificateurs d accès 1/2 Les spécificateurs d accès sont optionnels, néanmoins leur omission engendre un accès par défaut. Pour les classes : accès par les classes extérieures : mot-clé «public» Pour les variables et méthodes : «public» : Visibilité par une classe extérieure ayant accès a la classe qui encapsule ces données. «private» : Invisibilité par une classe extérieure ayant accès a la classe qui encapsule ces données. «protected» : Visibilité par les classes issues d un même paquetage (= regroupement de classes), ainsi que par les classes filles Pas de spécificateur : Visibilité par les classes du même paquetage Langage Java - Cours I : Les bases 1 21

IV.4 Spécificateurs d accès 2/2 private Pas de Spécificateur protected public Même classe OUI OUI OUI OUI Sur-classe du même paquetage Classe autre que sousclasse dans le même paquetage Sous-classe dans un autre paquetage Classe autre que sousclasse dans un autre paquetage NON OUI OUI OUI NON OUI OUI OUI NON NON OUI OUI NON NON NON OUI Langage Java - Cours I : Les bases 1 22

IV.5 Le Mot clé «super» Lorsqu une classe B hérite d une classe A et qu elle redéfinit les méthode de A, on peut toujours accéder aux méthode de A par le mot clé «super». Ex : class A { A(int a) { // instructions constructeur} public void methode1(){ // instructions } } class B extends A { B(int b) {super( b ); // le constructeur de B utilise le constructeur de A // instructions } // surcharge de la méthode1 public void methode1(){ super. methode1(); // Appel de méthode1de A // instructions } } Langage Java - Cours I : Les bases 1 23

V. Syntaxe de base du Java La syntaxe du java est semblable à celle du C à 95% Les noms de variables et de méthodes peuvent être composées de lettres, chiffres (pas en 1ière lettre), «_» et «$». En java, les types des variables sont soit des types de bases, soit des Objets 3 types de commentaires : // met en commentaire tout ce qui est écrit à droite /* met en commentaire ce qui est entre les deux */ /** met en commentaire pour la javadoc */ javadoc est un utilitaire livré avec le jdk pour générer en HTML automatiquement la javadoc, ou documentation sur l API des classes crées (ajout de propriété : @author, @deprecated, @exception, @param, @return, @version ) Langage Java - Cours I : Les bases 1 24

V.1 Types de bases Type caractéristique valeur défault taille min/max boolean false/true false 1bit false/true byte signé 0 1 octet -128 à 127 char unicode \u0000 2 octets \u0000 à \uffff short signé 0 2 octets -32768 à 32767 int signé 0 4 octets -2*10^9 à 2*10^9 long signé 0 8 octets -9*10^18 à 9*10^18 float IEEE 754 0.0 4 octets 3,4*10^-38 à 3,4*10^38 double IEEE 754 0.0 8 octets 1,7*10^-308 à 1,7*10^308 Langage Java - Cours I : Les bases 1 25

V.2 Conventions Le java est sensible à la casse, et il existe des conventions pour le nommage des variables, méthodes et classes : Nom de classes : commence par une majuscule, et si le nom vient d un mot composé alors chaque partie du mot commence par une majuscule. Ex : BufferedOutputStream Nom de variables et de méthodes : commence par une minuscule, et si le nom vient d un mot composé alors chaque partie du mot commence par une majuscule. Ex : removeelementat(int index) variabledenomquelconque Convention respecté dans toutes l API java (rares exceptions) Langage Java - Cours I : Les bases 1 26

V.3 Déclaration et initialisation de variables Les déclarations en java peuvent avoir lieu à n importe endroit dans une méthode ou un constructeur et dans le corps d une classe (par convention au début) Déclaration d une variable : <type> nomdelavariable; Déclaration d une constante : final <type> nomdelaconstante = <valeur>; Le java permet systématiquement d initialiser une variable lors de sa déclaration Ex : // Test.java class Test { final int indicemax = 10; int indice = 2; String chaine = "Test " ; Test ( ) {Object o2 = new Object(); } } Langage Java - Cours I : Les bases 1 27

V.4 Conversion de type Il existe 2 cas : Les 2 types sont compatibles et le type de destination est plus grand que le type source : alors le Java permet une conversion automatique : Ex : int ent = 2; double doub = 3; doub = ent; Les 2 types sont incompatibles : alors il faut faire un «cast», qui signifie que l on est prêt à perdre de l information dans notre conversion Ex : int ent = 2; double doub = 3.2; ent = (int)doub; // on «cast» doub en int Ce principe est valable pour tout les types de bases, ainsi que pour les objets, sous réserve que les types soient parents ( cast d une classe fille dans le type d une classe mère) Langage Java - Cours I : Les bases 1 28

V.5 Les Tableaux Les tableaux en Java peuvent contenir n importe quel type de données : type de base ou Objet Déclaration : <type> nomvariable[]; Une fois déclarée la variable pointe sur null; il faut donc allouer un espace en mémoire pour le tableau. Allocation de la mémoire : nomvariable = new <type>[<valeur>] L allocation initialise toutes les valeurs du tableau à la valeur par défaut du type (null pour un Objet) Les tableaux sont indexés de 0 à n-1 s ils sont initialisés avec une valeur n et on accède à leur donné de la sorte : nomvariable [<indice>] Tableau bidimensionnels : <type> nomvariable[][] = new <type>[i] [j]; Langage Java - Cours I : Les bases 1 29

V.6 Utilisation d un Objet Une fois un objet instancié, on peut utiliser toutes ses variables et méthodes publiques de la manière suivante : Objet o = new Objet(); o.méthode(); int tmp = o.fonction(); o.variable = tmp; A l intérieur d une classe, pour des raisons de masquage de données, il est parfois nécessaire de devoir préciser l appartenance d une variable ou méthode à l objet courant, ceci se fait par le mot clé «this» Ex : // Exemple.java class Exemple { } int i; Exemple(int i) { this.i = i; } Langage Java - Cours I : Les bases 1 30

V.7 Boucles et instructions Java fonctionne comme le C avec des blocks d instructions { } Reprend également les instructions/boucles classiques : while (condition) {} do { }while (condition); for ( <déclaration et/ou initialisation>; <condition limite>; <incrémentation> ) { } : Ex : for (int i=1; i<3; i++){ } if (condition) {} else {} (condition)? { } : { } Switch(expression) { case valeur1 : /*instructions*/ break; default : /*instructions*/ } Langage Java - Cours I : Les bases 1 31

V.8 Opérateurs 1/2 Opérateurs arithmétiques pour les types numériques : +, -, *, /, %(modulo) : opérations classiques ++ et -- : incrémentation et décrémentation ( Ex : ++i; et i++; ) +=, -=, *=, /=, %= : Opération puis affectation Opérateurs de comparaison : == : test d égalité!= : test d inégalité <, <=, >, >= : comparaisons Opérateurs logiques booléens : &,, ^ : ET, OU, OU exclusif &&, : ET et OU avec circuit!, ==,!= : NON, EGAL à, DIFFERENT de Langage Java - Cours I : Les bases 1 32

V.8 Opérateurs 2/2 Opérateur d affectation : «=» Particularité en Java : Ex : int x,y,z; x = y = z = 100; Opérateur? : expression1? expression2 : epression3 Ex : public int abs( int i ) { return (i < 0? -i : i); } Concaténation de chaine de caractère avec «+» : Ex : int somme = 4; String sommestring = " la somme est égale à" + i+" Euros."; Langage Java - Cours I : Les bases 1 33

V.9 La classe Object Tous les Objets héritent implicitement de la classe java.lang.object, qui contient un certain nombre de méthode comme les méthodes equals() et tostring() qui peuvent être redéfinies dans tous les Objets La méthode equals(object o) teste l égalité de l objet courant avec un autre objet passé en paramètre, le fait de redéfinir cette méthode dans un objet que l on a créé permet de définir nos propres critère d égalités entre nos objets. Ces propriétés sont utilisées par un certain nombre de méthodes utilitaire du java. La méthode tostring() définit une forme d affichage sous forme de String de l objet courant. La redéfinir permet une fois pour toute de définir l affichage d un type d objet, réutilisable ensuite : Ex : System.out.println(" affichage de l objet : "+o); Langage Java - Cours I : Les bases 1 34