Programmation Orientée Objets Le Langage JAVA

Dimension: px
Commencer à balayer dès la page:

Download "Programmation Orientée Objets Le Langage JAVA"

Transcription

1 Module IP1 Programmation Orientée Objets Le Langage JAVA Amaury Habrard Université de Saint-Etienne Mis à jour par François-Xavier Dupé Université d Aix-Marseille

2 2

3 Table des matières 1 Avant propos 7 2 Introduction : le langage JAVA Présentation Historique du langage Quelques mots clés Java et la programmation orientée objet Le concept d objets Indépendance vis à vis de la plateforme Structure d un programme JAVA Que contient un fichier source? Execution d un programme Java La machine virtuelle La méthode main Utilisation d arguments dans la fonction main Installation et utilisation de Java Types, expressions et structures de contrôle fondamentales les types primitifs La notion de type le type entier (int) Les flottants/réels (float ou double) Le type caractère (char) Le type booléen (boolean) Initialisations et constantes Opérateurs et expressions Opérateurs arithmétiques Opérateurs de comparaison Opérateurs logiques Opérateurs d affectation Conversion de types Opérateur conditionnel Priorité des opérateurs Les structures de contrôle if switch while do-while for Les instructions break et continue Les éléments spécifiques au langage JAVA Une première introduction au type String Règles d écriture d un programme JAVA

4 4 TABLE DES MATIÈRES Les identificateurs Commentaires Mots clés réservés Remarques globales Commentaires sur le rendu d un programme Java Liens sur la programmation JAVA Bibliographie Exercices de cours Compilateur Mots croisés La notion d objets : définition et utilisation Introduction au développement objets La notion de classe Exemple de classe : Création d un objet à l aide d une classe Exemple d utilisation dans un programme complet La notion de constructeur Affectation et comparaison d objets La référence null Le ramasse-miettes L encapsulation de données Champs et méthodes statiques Variables statiques Les méthodes statiques Surdéfinition/surcharge de méthodes Surdéfinition de constructeurs La copie d objets Autoréférencement : le mot clé this Remarques sur la définition de méthodes Méthodes de type procédures et fonctions Les arguments Les variables locales La récursivité Les paquetages (packages) Attribution d une classe à un paquetage Utilisation d une classe située dans une paquetage Droits d accès Les tableaux Déclaration et création Tableau en argument ou en retour Les tableaux à plusieurs indices Exercices de cours Compilateur Qui suis-je? Compilateur Qui suis-je? Compilateur Mots croisés Mots croisés

5 TABLE DES MATIÈRES 5 4 Les concepts d Héritage et de Polymorphisme Présentation et définition Construction et initialisation des objets dérivés Redéfinition, surdéfinition et héritage Redéfinition La surchage En résumé Le polymorphisme Tableaux hétérogènes d objets Règles du polymorphisme en Java La super-classe Object Accès par membres protégés : protected Méthodes et classes finales Les classes abstraites Les interfaces Définition et mise en œuvre Intérêt des interfaces Connaître la classe et les types d un objet L opérateur instanceof La class Class Exercices de Cours Classes abstraites - classes concrètes Compilateur Qui suis-je? Vrai ou Faux? La gestion d exceptions Présentation Gestion de plusieurs exceptions et transmission d informations Dérivation et redéclenchement d exceptions Le bloc finally Les exceptions standard Exercices de Cours Vrai ou Faux? Mots croisés Les chaînes de caractères en Java Le type String Les chaînes de caractères sont des objets Affichage d une chaîne Longueur d une chaîne accès aux caractères Concaténation : l opérateur Recherche dans une chaîne : la méthode indexof La comparaison de chaînes Tester l égalité de deux chaînes Comparer deux chaînes Modification d un caractère Extraction de sous-chaînes Passage en majuscules/minuscules Conversion d une chaîne vers un type primitif Conversion d un type primitif vers une chaîne Chaînes et tableaux de caractères Tableau de chaînes

6 6 TABLE DES MATIÈRES 6.2 La classe StringBuffer La classe StringTokenizer Les entrées/sorties Les fichiers, la classe File Les champs Les constructeurs Les méthodes Les flux Lecture/écriture Quelques éléments de l API La classe Math Les classes enveloppes pour les valeurs primitives Les collections Définition ArrayList L ancienne classe Vector Les ensembles Les algorithmes Recherche de maximum ou minimum Algorithme de tris et mélanges Les tables associatives (HashMap) Divers Eléments disponibles à partir de Java Boucle for améliorée Généricité Réflection et Manipulation des types Les autres éléments de l API

7 Chapitre 1 Avant propos Ce polycopié de cours a pour objectif d introduire les concepts fondamentaux de la programmation objet à l aide du langage java. Il est composé de 4 chapitres de cours et de 3 chapitres présentant des éléments de la bibliothèque du langage. A l issue de chaque chapitre de cours, un ensemble d exercices originaux sont proposés. Ces exercices sont complémentaires au exercices de travaux dirigés et au travaux pratiques. Ils ont pour objectif de faire travailler les notions vues en cours sous une forme différente et d insister sur le vocabulaire spécifique à java ou à la programmation objets, il est donc fortement conseillé de chercher sérieusement ces exercices. Voici un bref descriptif des différents chapitres : Chapitre 2 : chapitre d introduction présentant le langage dans sa globalité, son historique et les principes de bases pour écrire un premier programme. On y détaille tous les types primitifs, les structures de contrôles et quelques structures fondamentales du langage. On présente également les conventions à suivre lorsque l on programme en Java. Chapitre 3 : ce chapitre présente la philosophie du langage : l objet. On détaille les différentes structures permettant de déclarer et de créer les objets ainsi que les implications de chacune d elles. Chapitre 4 : on y introduit des concepts fondamentaux de la programmation objet l héritage et le polymorphisme. Ils font la force de ce type de programmation en permettant notamment une meilleure lisibilité des programmes et une plus grande facilité de réutilisation de l existant. Chapitre 5 : dans ce chapitre la gestion d erreurs via la notion d exception est présentée. Ce type de gestion est propre au langage java. Chapitre 6 : détail de la plupart des classes de la bibliothèque permettant de gérer des chaînes de caractères, type fondamental et traiter de manière spécifique en Java. Chapitre 7 : présentation des éléments permettant de lire des flux et notamment de lire et d écrire dans des fichiers. Chapitre 8 : chapitre présentant une partie de la bibliothèque. On parle de l accès à des fonctions mathématiques, de l utilisation de listes ou de tables associatives, de quelques algorithmes utilisables, ansi que la généricité. Ce document en est à sa troisième version, il existe de manière certaine des coquilles, des fautes de frappes, des oublis de mot, des erreurs de code involontaire, des copier/coller non pertinents,... Dans le but d améliorer ce document, merci de signaler toutes ces erreurs. Si vous avez quelques suggestions pour améliorer certaines parties, corriger certaines affirmations, elles sont les bienvenues. Bonne lecture et bon travail! 7

8 8 CHAPITRE 1. AVANT PROPOS

9 Chapitre 2 Introduction : le langage JAVA 2.1 Présentation Java est une technologie composée d un langage de programmation orienté objet et d un environnement d exécution. Préalablement nommé Oak, il a été créé par James Gosling et Patrick Naughton chez Sun Microsystems avec le soutien de Bill Joy. Le langage Java fut officiellement présenté le 23 mai 1995 au SunWorld. Java est à la fois un langage de programmation et une plateforme d exécution. Le langage Java a la particularité principale d être portable sur plusieurs systèmes d exploitation tels que Windows, MacOS ou Linux. C est la plateforme qui garantit la portabilité des applications développées en Java. Le langage reprend en grande partie la syntaxe du langage C++, très utilisé par les informaticiens. Néanmoins, Java a été épuré des concepts les plus subtils du C++ et à la fois les plus déroutants, tels que les pointeurs. Les concepteurs ont privilégié l approche orientée objet de sorte qu en Java, tout est objet à l exception des primitives (nombres entiers, nombres à virgule flottante, etc.). Java permet de développer des applications autonomes mais aussi, et surtout, des applications client-serveur. Côté client, les applets sont à l origine de la notoriété du langage. C est surtout côté serveur que Java s est imposé dans le milieu de l entreprise grâce aux servlets, le pendant serveur des applets, et plus récemment les JSP (Java Server Pages) qui peuvent se substituer à PHP et ASP. Les applications Java peuvent être exécutées sur tous les systèmes d exploitation pour lesquels a été développée une plateforme Java, dont le nom technique est JRE (Java Runtime Environment - Environnement d exécution Java). Cette dernière est constituée d une JVM (Java Virtual Machine - Machine Virtuelle Java), le programme qui interprète le code Java et le convertit en code natif. Mais le JRE est surtout constitué d une bibliothèque standard à partir de laquelle doivent être développés tous les programmes en Java. C est la garantie de portabilité qui a fait la réussite de Java dans les architectures client-serveur en facilitant la migration entre serveurs, très difficile pour les gros systèmes. Dans le cadre de ce cours notre objectif sera d étudier les concepts fondamentaux de la programmation objet à l aide du langage java. Le but est d acquérir les bases permettant ensuite de développer des applications plus consistantes. 2.2 Historique du langage Naissance 1991 : conception d un langage applicable à de petits appareils électriques (on parle de code embarqué) par la société Sun Microsystem. La syntaxe est proche du C++, utilisant le concept de machine virtuelle. Le code source est traduit dans un langage universel disposant de fonctionnalités communes à toutes les machines. Ce code intermédiaire 9

10 10 CHAPITRE 2. INTRODUCTION : LE LANGAGE JAVA est dit formé de byte code et est compact et portable sur n importe quelle machine : il suffit qu elle dispose d un programme permettant d interpréter le langage, on parle de machine virtuelle. Ce projet s appelait Oak. Eté 1992 : première présentation interne des possibilités de Oak. Un appareil appelé Star Seven permet de visualiser une animation montrant Duke, l actuelle mascotte de Java : développement de HotJava, un navigateur internet entièrement écrit en Java capable d exécuter des applets écrites en byte code : lancement officiel de Java : lancement du JDK 1.0 et des versions 1.01 et 1.02 du langage JAVA (250 classes dans la bibliothèque) : version 1.1 du JDK (500 classes) : version 1.2 JDK que l on appelle Java2 (1500 classes) : version de J2SE (Java 2 Standard Edition) 1.3 (1800 classes) : version de J2SE (Java 2 Standard Edition) 1.4 (2700 classes), applications web et entreprises : version de J2EE (Java 2 Entreprise Edition) : version du J2SE 1.5 également appelé J2SE 5.0 ou Java 5 ( 3500 classes) : version du J2SE 1.6 également appelé J2SE 6.0 ou Java 6 ( 3800 classes) : version du J2SE 1.7 également appelé J2SE 7.0 ou Java 7 ( 3900 classes) : version du J2SE 1.8 également appelé J2SE 8.0 ou Java 8 ( 4000 classes) Quelques mots clés JRE : Java Runtime Environnement logiciel permettant d exécuter des applications java. JDK : Java Development Kit logiciel permettant de concevoir et d exécuter des applications java. J2SDK : Java 2 Software Development Kit même chose que précédemment. API : Application Programming Interface (interface de programmation) qui définit la manière dont un composant informatique peut communiquer avec un autre. Dans le cas de Java, ce terme désigne une bibliothèque de classes et de fonctionnalités mises à disposition du programmeur. J2EE : Java 2 Platform, Enterprise Edition Java 2 Platform, Enterprise Edition est une spécification pour le langage de programmation Java de Sun plus particulièrement destinée aux applications d entreprise. Dans ce but, toute implémentation de cette spécification contient un ensemble d extension au cadre d applications Java standard (J2SE, Java 2 standard edition) afin de faciliter la création d applications réparties. Voici quelques API présentes dans cette extension : Servlets, JSP, JDBC, JAXB, RMI,... javac programme contenu dans le JDK pour compiler des programmes java. java nom du langage programme contenu dans le JDK ou JRE pour lancer des programmes java. javadoc programme contenu dans le JDK pour créer automatiquement une documentation HTML à partir de sources java. jar programme contenu dans le JDK pour compresser un (ou des programmes java) dans un seul fichier. 2.3 Java et la programmation orientée objet La programmation orientée objets se caractérise par 3 points importants : une programmation structurés, fiabilité des logiciels accrue, facilite la réutilisation du code existant.

11 2.4. STRUCTURE D UN PROGRAMME JAVA Le concept d objets En programmation impérative (par exemple le langage C), un programme est formé de différentes procédures et structures de données généralement indépendantes des procédures. En programmation orientée objets, on met en œuvre différents objets. Chaque objet associe des données et des méthodes agissant exclusivement sur les données de l objet. On parle de méthodes plutôt que de procédures. On utilisant indifféremment le mot champ, donnée ou encore attribut. L encapsulation de données : il n est pas possible d agir directement sur les données d un objet, il est nécessaire de passer par des méthodes associées à l objet. Ces méthodes jouent le rôle d interface obligatoire. L appel d une méthode peut être vu comme l envoi d un message à un objet. Vu de l extérieur, un objet se caractérise uniquement par ses spécification (données attributs) et ses méthodes. La notion de classe : elle généralise la notion de type de donnée elle permet de décrire un ensemble d objets ayant une structure de données commune et disposant de mêmes méthodes. Les objets apparaissent comme des variables d un type de classe donnée, on parle d instances de classe. La notion d héritage. Elle permet de définir une nouvelle classe à partir d une autre. On réutilise cette dernière en bloc et on lui ajoute de nouvelles fonctionnalités. La conception d une nouvelle classe, qui hérite (récupère) toutes les propriétés et aptitudes de l ancienne. Il est ainsi possible de s appuyer sur des réalisations antérieures parfaitement au point et les spécifier à volonté. Ceci facilite donc la réutilisation de code ou de logiciel déjà existant. La programmation objet facilite énormément la réalisation d interfaces graphiques. Chaque élément de l interface est vu comme un objet, par exemple un objet fenêtre, plusieurs objets boutons, un objet ascenseur, etc Indépendance vis à vis de la plateforme La portabilité du code. Un programme est portable si un même code source peut être exploité dans des environnements différents moyennant une nouvelle compilation. En Java, il existe la notion de machine virtuelle java - la JVM (pour Java Virtual Machine) - qui peut exécuter le même code sur n importe quelle plateforme en utilisant un code source sous forme de bytecode : un langage machine spécifique à la plateforme Java. La création d un programme Java s effectue en 2 temps : une phase de compilation qui transforme le code source en bytecode. Le code est ensuite interprété sur une machine virtuelle Java 2.4 Structure d un programme JAVA Que contient un fichier source? Un fichier source porte l extension.java et contient la définition de classe. La définition d une classe est définie par 2 accolades. public class Chien //code de la classe JAVA

12 12 CHAPITRE 2. INTRODUCTION : LE LANGAGE JAVA Une classe contient une ou plusieurs méthodes. Par exemple dans la classe Chien, la méthode aboyer() va contenir des instructions spécifiant la façon dont un chien aboie. Les méthodes sont obligatoirement déclarées dans une classe. public class Chien void aboyer() // code de la methode aboyer où l on indique comment // la méthode doit ^etre exécutée Execution d un programme Java Source Compilation Execution On compile le(s) fichier(s) source(s) avec le programme javac, par exemple javac Toto.java. Si la compilation a réussi, un fichier.class Toto.class est créé, ce fichier est constitué de byte code On crée un document source avec une extension.java, par exemple Toto.java La machine virtuelle L exécution est lancée en utilisant le programme java avec le nom du fichier principal du programme sans l extension.class. Par exemple java Toto. Un programme s exécute en lançant la JVM sur le fichier principal (Toto.class). Ce fichier contient du byte code et la JVM traduit ce byte code en code machine compréhensible par la plateforme sous-jacente et exécute le programme. Lorsque la JVM démarre elle cherche la classe spécifiée à l exécution, puis elle recherche une méthode spéciale la méthode main qui ressemble exactement à ceci : public static void main(string [] args) //le code de la methode main La JVM exécute ensuite tout ce qui se trouve entre les accolades de la méthode main La méthode main Toute application java a au moins une méthode main. Attention, pas une par classe, mais au moins une par application. La méthode main correspond à l endroit où le programme commence à s exécuter. Voici un exemple de programme complet : public class PremiereAppli public static void main(string [] args) System.out.println("Bonjour à tous"); System.out.println("Je m appelle toto");

13 2.4. STRUCTURE D UN PROGRAMME JAVA Enregistrement dans le fichier PremiereAppli.java 2. Compilation javac PremiereAppli.java 3. Lancement du programme java PremiereAppli 4. Le résultat du programme consiste à afficher les 2 lignes suivantes : Bonjour à tous Je m appelle toto Utilisation d arguments dans la fonction main Les arguments de la méthode main sont placés dans le tableau args, qui est un tableau constitué de chaînes. Lors du lancement d un programme, les arguments se placent à la suite de l identificateur de classe du programme lancé et sont séparés par un espace. Exemple : java AfficheArguments Le langage Java Voici le programme correspondant : public class AfficheArguments public static void main(string [] args) for(int i=0;i<args.length;i++) System.out.println("contenu de args[" + i +"] : "+ args[i]); A l exécution, ce programme affiche le résultat suivant : contenu de args[0] : Le contenu de args[1] : langage contenu de args[2] : Java N.B. Les arguments sont passés sous la forme de chaînes de caractères, si nous voulons des nombres nous devons convertir les arguments. Exemple. public class Addition2Entiers public static void main(string [] args) int entier1, entier2, resultat; entier1=integer.parseint(args[0]); entier2=integer.parseint(args[1]); resultat = entier1 + entier2; System.out.println("La somme de "+entier1+" et "+entier2+" est : "+resultat); Pour lancer le programme : java Addition2Entiers 1 3. Autre exemple.

14 14 CHAPITRE 2. INTRODUCTION : LE LANGAGE JAVA public class ConversionFrancsEuros public static void main(string [] args) final float taux = f; float somme = 0f, resultat; somme=float.parsefloat(args[0]); resultat = somme / taux; System.out.println("Le resultat de la convertion de "+somme+" francs est "+resultat+" euros."); 2.5 Installation et utilisation de Java Pour installer un outil de développement java, il suffit de récupérer un outil de développement (JDK ou SDK) sur puis de lancer le programme d installation. Sous linux vous pouvez l installer par exemple dans /usr/local pour le rendre accessible à tout le monde, ou sous votre compte. Ensuite nous allons principalement utiliser les programmes situés dans le répertoire bin - /Chemin Installation/jdk /bin (/Chemin Installation correspondant au répertoire d installation de java), par exemple si vous avez récupéré la version 10 du jdk javac, java, javadoc, jar,...). Pour faciliter leur utilisation vous pouvez mettre le répertoire bin dans votre variable d environnement PATH (cf le cours système). Notez que sous certains systèmes linux/unix, certaines distributions java sont pré-installées, mais ne correspondent pas aux versions officielles fournies par Sun Microsystems. Pour écrire nos programmes nous aurons seulement besoin d un éditeur (par exemple emacs sous linux, ou tout un autre éditeur si vous le souhaitez) et d un terminal (xterm). Vous pourrez éventuellement avoir de besoin de configurer une variable d environnement CLASSPATH qui indique les répertoires où sont situés les programmes java. Ce n est pas obligatoire, par défaut les programmes sont cherchés dans le répertoire courant et il est possible d indiquer des répertoires en spécifiant des options aux différents programmes disponibles dans le jdk (voire la documentation officielle indiquée dans les liens ci-dessous). Quand vous serez plus expérimenté (par exemple à partir du 4ème TP), vous pourrez essayé d autres éditeurs facilitant le développement de programmes java tels qu eclipse ou NetBeans. A vous de les essayer et éventuellement d en adopter un. Néanmoins, il est d abord conseillé d utiliser un éditeur non spécifique pour commencer, puis de passer à un éditeur spécialisé une fois que l on maîtrise les bases du langage. Pour ceux qui souhaitent essayer leurs programmes sous windows, la procédure d installation est la même. Il peut cependant être nécessaire de créer une variable d environnement supplémentaire. Voici la procédure à suivre. Vérifier que la variable d environnement JAVA HOME est spécifiée. Si ce n est pas le cas allez dans Menu Démarrer Settings Control Panel System Advanced, menu variables d environnement. Entrez le nom de JAVA HOME puis sa valeur (par exemple C:j2sdk /). Pour vérifier tapez echo %JAVA HOME dans une console MS-DOS. Vous pouvez utiliser la même méthode pour modifier le contenu de la variable PATH ou configurer CLASSPATH. En guise de terminal vous utiliserez alors une console MS-DOS.

15 2.6. TYPES, EXPRESSIONS ET STRUCTURES DE CONTRÔLE FONDAMENTALES Types, expressions et structures de contrôle fondamentales Cette partie a pour objectif de présenter rapidement l utilisation des types, des expressions et des instructions de contrôle en JAVA. Les éléments abordés ne sont pas forcément toujours caractéristiques du langage JAVA mais sont nécessaires pour l utilisation de n importe quel langage de programmation. Lorsque certaines situations sont spécifiques au langage JAVA, nous le précisons les types primitifs Ils servent à définir les champs (attributs) de toutes les classes que vous pourrez définir, ainsi que les variables que vous pourrez utiliser dans les différentes méthodes. Attention, les types primitifs ne sont pas des classes. La notion de type La mémoire centrale est un ensemble de positions binaires appelées. Ces bits sont regroupés en octets, un octet correspondant à 8 bits. Les ordinateurs (actuels) ne savent représenter et traiter que des informations représentées sous forme binaire. Il est donc nécessaire de savoir comment une information a été codée pour pouvoir attribuer une signification à une suite de bits d un emplacement de la mémoire. Il existe 4 catégories de type primitif en JAVA : nombres entiers nombres flottants caractères booléens le type entier (int) Il sert à représenter les nombres entiers relatifs. Il existe quatre sortes d entier permettant de représenter des valeurs différentes. Le tableau suivant décrit chacun de ces types avec le nom du type, la taille occupée en mémoire en octets, la valeur minimale et la valeur maximale possible avec la constante correspondante dans le langage. Nom Taille Valeur minimale Valeur maximale byte Byte.MIN VALUE Byte.MAX VALUE short Short.MIN VALUE Short.MAX VALUE int 4-2,147,483,648 2,147,483,647 Integer.MIN VALUE Integer.MAX VALUE long 8-9,223,372,036,854,775,808 9,223,372,036,854,775,807 Long.MIN VALUE Long.MAX VALUE Les constantes peuvent s écrire sous forme décimale (548, -78, +5), ou sous forme hexadécimale en précisant la valeur de 0x ou 0x (0x1A 0X12), ou octale en faisant précéder la valeur de 0 (032, 05). Une constante entière est forcément de l un des types int ou long. On peut forcer une constante à être du type long en faisant suivre sa valeur de la lettre l ou L, exemple 25L. Le compilateur rejettera toute constante ayant une valeur supérieure la capacité du type long.

16 16 CHAPITRE 2. INTRODUCTION : LE LANGAGE JAVA Les flottants/réels (float ou double) Il en existe deux sortes. Le tableau suivant décrit chacun d eux avec leur nom, la taille occupée en mémoire en octets, la précision correspondant au nombre de chiffres significatifs pris en compte dans la partie décimale, la valeur minimale et la valeur maximale possible avec la constante correspondante dans le langage. Nom Taille Précision Valeur absolue minimale Valeur absolue maximale float , Float.MIN VALUE Float.MAX VALUE double , Double.MIN VALUE Double.MAX VALUE Pour les constantes, il existe deux notations : la notation décimale : la notation exponentielle : 4.25E4 ou 4.25e+4 pour e-32 pour e13 pour Par défaut toutes les constantes créées sont de type double, pour forcer à avoir un type float on fait suivre la valeur de la lettre f, exemple : 12.5f Le type caractère (char) Les caractères, désignés par le type char, sont codés sur 2 octets, notation d une constante caractère : a, B, é, +. Exemple char lettre= a ; Certains caractères avec notation spéciale : \b pour le retour arrière (backspace) \t pour une tabulation \n pour un saut de ligne \f pour un saut de page \r pour un retour chariot \" pour un guillemet \ pour une apostrophe \\ pour \. Le type booléen (boolean) Il sert à représenter une valeur logique de type vrai ou faux, il existe deux valeurs possibles pour un booléen en java : true et false (pour vrai et faux). Exemple boolean est ordonne=false;. Attention, en JAVA, les valeurs logiques ne sont pas représentées par des valeurs mais par un type spécifique : le type boolean, toute utilisation de valeur numérique dans des tests provoquera une erreur! Initialisations et constantes Variables Exemples : int n=15; également équivalent à int n; n=15;. En JAVA, les déclarations peuvent apparaître à n importe quel endroit du programme. D un point de vue méthodologique, il est souvent conseillé d effectuer la déclaration de toutes les variables (importantes) ensembles au début puis de les initialiser avant de les utiliser. N.B. Les variables n ayant pas reçu de valeur ne peuvent pas être utilisées sous peine d aboutir à une erreur de compilation. Il est donc important de penser à initialiser les variables dès leur création.

17 2.6. TYPES, EXPRESSIONS ET STRUCTURES DE CONTRÔLE FONDAMENTALES 17 Constantes : le mot clé final Pour indiquer qu une variable ne peut pas être modifiée pendant l exécution d un programme, on peut utiliser le mot clé final : final int nombre de mois=12; Toute modification de la variable nombre de mois, de valeur initiale 12, sera rejetée par le compilateur Opérateurs et expressions Opérateurs arithmétiques Il existe cinq opérateurs principaux : + : addition a+b - : soustraction a-b / : division a/b * : multiplication a*b % : modulo, a % b calcule le reste de la division de a par b. Le problème de la conversion de type : float x; float res; int n; int p; res=n*x+p; La variable n étant de type int, x de type float, le compilateur va convertir n en float puis faire le calcul. Le résultat final sera de type float, comme le montre la Figure 2.1. n * x + int float p long float * float + float float Figure 2.1 Evaluation de res=n*x+p; La hiérarchie de conversion permettant de ne pas dénaturer la valeur initiale : int long float double. Note : par défaut, pour les types byte, char, short, si un de ces types apparaît dans une expression, la valeur est d abord convertie en int. Exemple : short p1=1, p2=1,p3=1; float x=2; L évaluation de p1*p2+p3*x est faite comme le montre la Figure 2.2. p1 * p2 + p3 * x int int int * float * float int float + float float Figure 2.2 Evaluation de p1*p2+p3*x

18 18 CHAPITRE 2. INTRODUCTION : LE LANGAGE JAVA Opérateurs de comparaison Ils servent à faire des comparaisons relatives et sont principalement utilisés dans les tests conditionnels. < : inférieur strictement à <= : inférieur ou égal à > : supérieur à >= : supérieur ou égal à == : égal à! = : différent de. Ces opérateurs peuvent s utiliser avec des expressions : 2 a > b + 5, x + y < (a + 2) 5,... Note : ordre sur les caractères 0 < 1 <... < 9 < A < B <... < Z < a <... < z. Opérateurs logiques Ces opérateurs permettent de manipuler des valeurs logiques.! : négation & : ET : OU exclusif : OU inclusif && : ET avec court-circuit : OU inclusif avec court-circuit Exemples : (a < b) && (c < d), (a < b) & (c < d) : ces deux expressions prennent la valeur true (vrai) si les deux expressions a < b et c < d sont toutes les deux vraies, la valeur false (faux) dans le cas contraire. (a < b) (c < d), (a < b) (c < d) : prend la valeur true si l une au moins des deux conditions a < b ou c < d est vraie, la valeur false dans le cas contraire. (a < b) (c < d) prend la valeur true si une et une seule des deux conditions a < b et c < d est vraie, la valeur false dans le cas contraire.!(a < b) prend la valeur true si la condition a < b est fausse, la valeur false dans le cas contraire. Cette expression possède en fait la même valeur que a >= b. Les deux opérateurs && et possèdent une propriété intéressante : leur second opérande (celui qui figure à droite de l opérateur) n est évalué que si la connaissance de sa valeur est indispensable pour décider si l expression est vraie ou fausse. Par exemple, si on a l expression (a < b)&&(c < d), on commence par évaluer (a < b), si le résultat est faux on n évalue pas c < d puisque le résultat est déjà connu. Les opérateurs et évaluent toujours les deux opérandes, il est donc plutôt conseillé d utiliser les opérateurs && et. Opérateurs d affectation = : exemples c=b+3; c=i;. L opérateur possède une associativité de gauche à droite, ainsi dans l expression i = j = 5; on évalue j=5 d abord, puis i=j, i et j ont à la fin la même valeur 5. Attention aux problèmes de conversion, supposons que nous ayons une variable de type int n et une variable de type float x, l expression n=x+5; est rejetée par le compilateur. Il faut en fait écrire n=(int) x + 5;. Il est nécessaire de faire une conversion explicite. Les conversions pour lesquelles il n y a pas besoin de faire une conversion explicite sont les suivantes : byte short int long float double char int long float double L incrémentation et la décrémentation. Ces opérations consistent respectivement à augmenter une variable (en général entière) 1 et à diminuer une variable de 1 (i = i-1; n = n+1;). Ces opérations sont définies par les opérateurs ++ et -- : i--; n++; ou --i; ++n;.

19 2.6. TYPES, EXPRESSIONS ET STRUCTURES DE CONTRÔLE FONDAMENTALES 19 Il existe cependant un différence suivant où est placé l opérateur lors de l évaluation d une expression, s il est placé avant(on parle d opérateur préfixé) la variable l opération est effectuée avant l évaluation de l expression, s il est placé après (on parle d opérateur postfixé) l opération est effectuée après. n= ++i -5; : on affecte d abord la valeur 6 à i puis la valeur 1 à n. n= i++ - 5; : on affecte d abord la valeur 0 à n puis la valeur 6 à i. Affectation élargie, les instructions suivantes sont équivalentes : i = i + k; et i+=k; Il existe la même chose avec les opérateurs *, / et -. Conversion de types Lorsque l on désire convertir un type vers autre qui a une taille de représentation inférieure, les règles suivantes s appliquent : entier vers entier (long vers int, short vert byte,...) les octets les moins significatifs sont conservés. double vers float : arrondi au plus proche. flottant vers entier : il y a d abord un arrondi au plus proche dans le type long ou int, puis on effectue la conversion en conservant les octets les moins significatifs. Opérateur conditionnel condition? etape1 : etape2; : si condition est vraie alors etape1 sinon etape2. Exemple : max = a<b? b :a; Si a < b, alors la variable max reçoit la valeur de la variable b, sinon elle reçoit la valeur de la variable a. Priorité des opérateurs Opérateurs associativité () []. ++(postfixé) (postfixé) g à d +(unaire) -(unaire) ++(préfixé) (préfixé) (unaire)! cast new d à g / % g à d + - g à d << >> >>> g à d < <= > >= instanceof g à d ==!= g à d & g à d g à d g à d && g à d g à d? : g à d = += -= *= /= %= <<= >>= >>>= & = = = d à g Les structures de contrôle Dans cette partie, les crochets [] signifient que ce qu ils renferment est facultatif. Il servent soit à exprimer le fait que pour lier plusieurs instructions à une structure de contrôle il est nécessaire de mettre ces instructions dans un bloc entre accolades () (si on n a besoin que d une seule instruction on n a pas besoin de bloc) ; soit à indiquer qu une instruction facultative. Le terme condition correspond à une expression qui peut être évaluée sous forme logique (vrai ou faux).

20 20 CHAPITRE 2. INTRODUCTION : LE LANGAGE JAVA if L instruction if (si) est une instruction de choix. if(condition) [] instruction\_1 [instruction\_2 instruction\_n ] [else [] instruction\_1 [instruction\_2 instruction\_n ] Exemple : public classtva public static void main(string [] args) double taux_tva=21.6; double ht, ttc, net, taux_remise, remise; ht=200.5; ttc=ht * (1.0 + taux_tva/100.0); if(ttc < ) taux_remise=0.; else if(ttc < 2000) taux_remise=1.; else if(ttc < 5000) taux_remise=2.; System.out.println("Message: Prix ttc entre 2000 et 5000"); else taux_remise=5.; System.out.println("Message: Prix ttc superieur a 5000"); remise = ttc * taux_remise/100; net = ttc - remise; System.out.println("Prix ttc: "+ttc); System.out.println("Remise: "+remise); System.out.println("Net a payer: "+net); switch L instruction switch (branchement) est une instruction de choix, permettant de tester plusieurs valeurs d une expression. L expression peut être de type byte, short, char ou int. Syntaxe :

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Programmation Orientée Objet avec JAVA

Programmation Orientée Objet avec JAVA Programmation Orientée Objet avec JAVA Présenté par Abdoul Aziz Ciss Docteur en Cryptologie, Consultant ITSec Dept GIT EPT Email: aaciss@ept.sn Web : www.alekciss.com Tel: 77 451 92 95 Plan 1. Introduction

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Cours1 +Cours 2 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction

Plus en détail

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java Nicolas Dumoulin nicolas.dumoulin@cemagref.fr Cemagref Laboratoire d ingénierie pour les systèmes complexes 2010 Notes aux lecteurs Ce document est un support de cours qui

Plus en détail

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

Objectif du cours. Bases de la programmation. Plan de cette partie

Objectif du cours. Bases de la programmation. Plan de cette partie Objectif du cours Bases de la programmation Université de Nice - Sophia Antipolis Richard Grin Version 1.2.5 24/9/11 http://deptinfo.unice.fr/~grin Introduction à la programmation orientée objet pour pouvoir

Plus en détail

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15 Tabledesmatières 1 IntroductionaulangageJava 1 1.1 EnvironnementJava... 1 1.1.1 Compilation... 2 1.1.2 Interprétation... 2 1.2 Programmationorientée-objet... 2 1.2.1 Classe... 3 1.2.2 Objet... 4 2 Syntaxedulangage

Plus en détail

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 +Cours 2 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Le langage Java - Syntaxe

Le langage Java - Syntaxe Le langage Java - Syntaxe LES BASES: litéraux, types, expressions, instructions LE LANGAGE JAVA - SYNTAXE LES COMMENTAIRES LES IDENTIFICATEURS LISTES DES MOTS RÉSERVÉS: LES LITÉRAUX BOOLÉENS LA DÉCLARATION

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

JAVA Première approche

JAVA Première approche Année 2008-2009 JAVA Première approche Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Qu'est ce que Java? C'est le nom d'une technologie mise au point

Plus en détail

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar Programmation - Java - Fiches du Langage Marie Beurton-Aimar Fiche Numéro 1 1.1 Structure d un programme Java Toutes les instructions se terminent par un ; Le nom du fichier qui contient une classe doit

Plus en détail

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

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

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

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting

Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting 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

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Cours 1 : Introduction Générale + Objet

Cours 1 : Introduction Générale + Objet Organisation du cours Équipe pédagogique L2 S4 2009 : 2010 Programmation Objet Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet 10 cours de 1h30 o Jean-Claude MARTIN (MARTIN@LIMSI.FR)

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Introduction à la Programmation Objet : Premiers pas en programmation

Introduction à la Programmation Objet : Premiers pas en programmation Introduction à la Programmation Objet : Premiers pas en programmation Laboratoire d Intelligence Artificielle Faculté I&C IPO Cours 2 : Premiers pas en programmation 1 / 67 Objectifs du cours d aujourd

Plus en détail

2001-2002. UFR Mathématiques de la Décision. Première Année de DEUG Sciences et Technologie mention MASS. Informatique. Volume I.

2001-2002. UFR Mathématiques de la Décision. Première Année de DEUG Sciences et Technologie mention MASS. Informatique. Volume I. 2001-2002 UFR Mathématiques de la Décision Première Année de DEUG Sciences et Technologie mention MASS Informatique Volume I Fabrice Rossi c Fabrice Rossi, 1997-2002 Conditions de distribution et de copie

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Support de Cours Christophe Dony Université Montpellier-II

Support de Cours Christophe Dony Université Montpellier-II Cours de base d Ingéniérie des applications objet. Généralités sur le langage Java - Modèle d exécution - Syntaxe Support de Cours Christophe Dony Université Montpellier-II 1 Le langage Java 1.1 Langage

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Algorithmique et initiation à la programmation java

Algorithmique et initiation à la programmation java L3 Monnaie - Finance Algorithmique et initiation à la programmation java Première partie O. Auzende 2012-2013 1 Modalités Cours en amphithéâtre : les lundis de 12 h à 13 h 30 (amphi 3) o Deux fascicules

Plus en détail

Types de données et objets

Types de données et objets Types de données et objets VL A D Y RA V E L O M A N A N A Licence 1 S2 Université Denis Diderot (P7). vlad@liafa.jussieu.fr LIAFA Bureau 6A13. 175, rue Chevaleret Ravelomanana Vlady Types de données et

Plus en détail

1.Programmation en Java : notions de base, orienté objet et héritage

1.Programmation en Java : notions de base, orienté objet et héritage Travaux pratique de Méthodologie et Langage de Programmation,, TP1 1 1.Programmation en Java : notions de base, orienté objet et héritage Cette séance de TP a pour objectif d'introduire à la programmation

Plus en détail

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java HLIN406 - Janvier 2015 Le Java Development Kit offre un ensemble d outils de développement d applications Java. Pour utiliser ces outils, JDK ne propose pas d interface utilisateur, on doit donc écrire

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation Chapitre 2 Langage C 2.1 Le langage C, un langage non interprété Le C est un langage de programmation comme il en existe beaucoup d autres (C++, Fortran, Python, Matlab, IDL, ADA...). Il existe deux grandes

Plus en détail

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 / 24 1 Vue générale La technologie Java Le langage Java La machine virtuelle Java Résumé Plan 2 Hello World Prérequis Premier programme : 3 étapes Résumé 3 HelloWorld en

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Commentaires Sur une ligne // Comme en C++, après un slash-slash int i; // commentaire jusqu à la fin de la ligne

Commentaires Sur une ligne // Comme en C++, après un slash-slash int i; // commentaire jusqu à la fin de la ligne 1 - Types et instructions de base Java 2 - Tableaux de types primitifs 3 - Méthodes statiques 1 2 Identificateurs Nommer les classes, les variables, les méthodes, Un identificateur Java est de longueur

Plus en détail

Esnard Aurélien cours de Java ENSERB informatique. Sommaire

Esnard Aurélien cours de Java ENSERB informatique. Sommaire Sommaire Avertissement : Le présent cours fait référence à la version 1.2 de Java, aussi appelé Java 2. Sommaire 1 Sommaire 2 Chapitre 1 Les bases du langage Java 5 Les données 5 Les primitives 5 Table

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Informatique TP1 : Découverte de Python CPP 1A

Informatique TP1 : Découverte de Python CPP 1A Informatique TP1 : Découverte de Python CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 1 Découverte de l IDE : IDLE IDLE est un environnement de développement (Integrated

Plus en détail

Programmation Orientée Objet. Introduction à Java. Frédéric Mallet. http://deptinfo.unice.fr/~fmallet/

Programmation Orientée Objet. Introduction à Java. Frédéric Mallet. http://deptinfo.unice.fr/~fmallet/ Introduction à Java Frédéric Mallet http://deptinfo.unice.fr/~fmallet/ 2013-2014 F. Mallet -POO 1 Volume Horaire Programmation Orientée Objet Organisation du cours 12*1h30 de cours 12*1h30 de TD machine

Plus en détail

Algorithmique Programmation

Algorithmique Programmation Algorithmique Programmation 2ème partie DUT en alternance CNAM 2007-2008 2 Table des matières 1 Premiers Pas en Programmation Objet : les Classes et les Objets 7 1.1 Définir une Classe........................................

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html 1 Généralités sur la programmation ALGORITHMIE - PROGRAMMATION 2 Algorithmie vs. Programmation Algorithmie Programme

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Cours 2 : Comment construire un programme?

Cours 2 : Comment construire un programme? 1/64 Introduction à la programmation Cours 2 : Comment construire un programme? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/64 Le cours d aujourd hui 1. Striptease

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

Plus en détail

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

Plus en détail

Initiation au langage Java. Patrick Cégielski cegielski@u-pec.fr

Initiation au langage Java. Patrick Cégielski cegielski@u-pec.fr Initiation au langage Java Patrick Cégielski cegielski@u-pec.fr Mai 2010 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université Paris Est Créteil - IUT Route forestière Hurtault

Plus en détail

Analyse statique de programmes Typage et analyse statique au sein de Java

Analyse statique de programmes Typage et analyse statique au sein de Java Analyse statique de programmes Typage et analyse statique au sein de Java Master Professionnel Informatique spécialité FSIL/FSI Jean-Marc Talbot jean-marc.talbot@lif.univ-mrs.fr Aix-Marseille Université

Plus en détail

TP 2 JAVA. public class test1{ public static void main(string arg[]){ code du programme }// main }// class

TP 2 JAVA. public class test1{ public static void main(string arg[]){ code du programme }// main }// class TP 2 JAVA La structure d'un programme Java Un programme Java n'utilisant pas de classe définie par l'utilisateur ni de fonctions autres que la fonction principale main pourra avoir la structure suivante

Plus en détail

Programmation Orientée Objet en Java

Programmation Orientée Objet en Java Programmation Orientée Objet en Java Licence Fondamentale SMI S5 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Java : éléments syntaxiques

Java : éléments syntaxiques Java : éléments syntaxiques Sylvain Sauvage 1 er avril 2001 Ce polycopié est largement inspiré des polycopiés Éléments de Java et Éléments de C++ de Jacques Madelaine et du document The Java Language Specification

Plus en détail

Windows Forms. 1 Introduction. 1.1 Objectifs. 1.2 Le C# 1.3 Visual Studio. C# tp 0 Octobre 2013. Epita

Windows Forms. 1 Introduction. 1.1 Objectifs. 1.2 Le C# 1.3 Visual Studio. C# tp 0 Octobre 2013. Epita Windows Forms 1 Introduction 1.1 Objectifs Durant ce TP, vous allez découvrir un nouveau langage, le C#. Vous serez confrontés à une nouvelle façon de coder, avec un nouveau langage, sous un nouvel environnement.

Plus en détail

public class StaticExample { private static int compteur; public static double pi = 3.14159; } utilisation de la notation. respect des modificateurs

public class StaticExample { private static int compteur; public static double pi = 3.14159; } utilisation de la notation. respect des modificateurs static static : usage Le rôle essentiel d un moule est de permettre la création d objets. mais un moule a également des caractéristiques Il en est de même pour une classe. Usage : La déclaration des attributs

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

COURS et TP DE LANGAGE C++

COURS et TP DE LANGAGE C++ COURS et TP DE LANGAGE C++ Chapitre 1 Eléments de langage C++ Joëlle MAILLEFERT joelle.maillefert@iut-cachan.u-psud.fr IUT de CACHAN Département GEII 2 CHAPITRE 1 ELEMENTS DE LANGAGE C++ Les exercices

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 02 : Expressions et opérateurs Jacques Bapst jacques.bapst@hefr.ch Expressions [1] Les expressions sont des entités composées de littéraux,

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet CNAM UV 19357 Année 2003-2004 David Delahaye David.Delahaye@cnam.fr Conception et Développement Orientés Objets Cours 1 : Introduction 1 Présentation de la valeur Ce cours s adresse à toute personne ayant

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

51IF1IF1 Introduction à l informatique et à la programmation. Support du cours-td

51IF1IF1 Introduction à l informatique et à la programmation. Support du cours-td 51IF1IF1 Introduction à l informatique et à la programmation Support du cours-td 2013-2014 Table des matières Présentation de l enseignement 2 1 Présentationdu langagejava 3 1.1 Qu est-ce-qu un programme?

Plus en détail

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013 La GUI tkinter Département d informatique Université de Toulon et du Var 2012-2013 Présentation Python est né en 1990, son concepteur est De Guido Van Rossum(Pays Bas). Il présente les caractéristiques

Plus en détail

Installation des outils du CD-Rom

Installation des outils du CD-Rom Installation des outils du CD-Rom Installer le JDK Pour installer Java2 SDK, exécutez le programme d'installation en double-cliquant sur l icône j2sdk-1_4_0-win.exe située dans le répertoire Java2 du CD-Rom.

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

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

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

Une classe est une sorte de type de données définie par le programmeur Variables peuvent être de type classe

Une classe est une sorte de type de données définie par le programmeur Variables peuvent être de type classe Classe, Objet Variables locales Niveaux de visibilité (Encapsulation) Attributs et Méthodes Statiques Surcharge des Méthodes Transmission des Paramètres Paquetage Classes pour les types de base POO 1 Une

Plus en détail

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15 Table des matières Au sujet de l auteur 1 Introduction 3 édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

TP1:Priseenmaind Eclipse,élémentsdebasede java

TP1:Priseenmaind Eclipse,élémentsdebasede java TP1:Priseenmaind Eclipse,élémentsdebasede java jean-baptiste.vioix@iut-dijon.u-bourgogne.fr R&T 2ème année Vousavezàvotredisposition(surlerépertoirecommun):lecours,lesTDs, et quelques documents provenant

Plus en détail

AUTOMATISER SES TÂCHES AVEC LES MACROS

AUTOMATISER SES TÂCHES AVEC LES MACROS AUTOMATISER SES TÂCHES AVEC LES MACROS U ne macro est un ensemble de commandes qui s exécute autant de fois que nécessaire simplement en les appelant par son nom. Les macros permettent d automatiser les

Plus en détail