Java les fondamentaux (examen 1Z0-803)

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

Download "Java les fondamentaux (examen 1Z0-803)"

Transcription

1 Présentation de la formation Java les fondamentaux (examen 1Z0-803) Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

2 Plan Présentation du formateur Les autres formations sur Alphorm Qu est-ce que Java? Le plan de la formation Présentation des outils Les publics concernés

3 Présentation du formateur Fabien Brissonneau fabien.brissonneau@gmail.com Consultant Concepteur et Formateur Missions d architecture, de conception, de réalisation logicielles Fondateur de eixa6 Actuellement en mission sur un projet de gestion Mes références : Mon profil Viadeo: Mon profil LinkedIn:

4 Mes formations sur alphorm

5 Les autres formations dévsur Alphorm

6 Qu est-ce que Java? Langage de programmation généraliste Créé en 1995 par Sun, héritant du C++ Géré en communauté Langage de programmation objet Avec un très grande bibliothèque de classes

7 Le plan de la formation Présentation de la technologie Java Penser en termes objet Présentation du langage Java Utiliser des variables primitives Utiliser des objets Utiliser des opérateurs et des décisions Créer et utiliser des tableaux Utiliser des structures en boucles Utiliser des méthodes et la surcharge Utiliser l encapsulation et les constructeurs Concepts avancés de l objet Gestion des erreurs Vue d ensemble

8 Certification OCA suite à l examen 1Z0-803

9 Présentation des outils Le site de Oracle sera utilisé pour télécharger Les outils en ligne de commande La bibliothèque de base Un IDE, Netbeans Nous utiliserons aussi Eclipse La présentation sera faite sous Windows 7

10 Les publics concernés Cette formation est la première de 2 formations certifiantes Java SE7 La formation suivante est Java avancé!

11 Scoop Formation à apparaitre prochainement sur alphorm

12 Allons-y! Nous pouvons démarrer!!

13 Présentation Associer Java à d autres langages Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

14 Plan Historique Caractéristiques essentielles du langage Comparer Java à C++ Comparer Java à C# Comparer Java à Python

15 Historique Démarre en 1991, chez SUN, projet dirigé par James Gosling Projet Oak, partant du C++ en éliminant les points dangereux Version alpha de Java en 1995 Version 1.0 en 1996

16 Caractéristiques essentielles Langage à la syntaxe simple Langage généraliste Langage indépendant de la plateforme Langage orienté objet Langage prévu pour le support du réseau

17 Comparer Java à C++ Objectifs : C++ est proche du système, Java a une grande couche d abstraction Syntaxe : C++ a une syntaxe complexe et pleine de surprises, Java a une syntaxe simple Bibliothèquestandard : la bibliothèque du C++ est le plus petit commun à toute application, Java a une bibliothèque très large Exécution : C++ est natif, Java tourne sur une machine virtuelle Paradigme de programmation : C++ favorise un mélange des façons de programmer, Java est fortement orienté objet Mémoire : en C++, la gestion de la mémoire est manuelle, Java utilise un ramasse-miette Origine et évolution : C++ est un standard ISO, Java a été créé par Sun, maintenant Oracle

18 Comparer Java à C# Objectifs : C# est lié au monde Microsoft et Java n est pas lié à un constructeur Syntaxe : C# et Java ont une syntaxe simple. C# ajoute quelques éléments, qui rapellent le C++ Bibliothèque standard : les bibliothèques Java et DotNet sont très larges Exécution : C# et Java tournent sur une machine virtuelle, avec compilation JIT Paradigme de programmation : C# et Java sont fortement orientés objet Mémoire : C# et Java utilisent un ramasse-miette Origine et évolution : C# est un langage d origine Microsoft

19 Comparer Java à Python Objectifs : Python est plus un langage de «glue», là où Java servirait à créer les composants liés Syntaxe : Python utilise les indentations, limite la verbosité. Java comme Python ont peu de types de base Bibliothèque standard : les bibliothèques Java et Python sont très larges Exécution : Python est interprété, son bytecodeest invisible. La phase de compilation du source Java en bytecode est clairement identifiée Paradigme de programmation : Python et Java sont orientés objet, mais Python s utilise souvent comme un langage de script Mémoire : Python et Java utilisent un ramasse-miette Origine et évolution : Python est d origine associative, PSF

20 Cequ ona couvert Nous avons rappelé les caractéristiques essentielles de Java Nous avons comparé Java à d autres de langages comparables Par rapport à ces langages, Java apparaît comme : Un langage à la syntaxe simple Un langage qui permet une bonne productivité Un langage fortement typé, qui guide le développeur Fortement orienté objet Avec une grande bibliothèque standard Ouvert sur le monde

21 Présentation Téléchargement et installation de Java Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

22 Plan Où trouver Java? Les téléchargements disponibles Installation des outils Java Configuration de l environnement de travail Java

23 Où trouver Java? Le nécessaire pour exécuter : Le kit de développement : Java DevelopmentKit (JDK) Le runtimeen 2 versions : Le Java Rutime Environment(JRE) Le JRE pour serveur Sur le site : Oracle participe au Java CommunityProcess, les nouveautés Java sont émises sous la forme de Java Specification Request: Oracle participe aussi à OpenJDK

24 Les téléchargements disponibles Les éditions Java : Java SE, Java EE, Java ME Standard Edition : JRE complet + outils pour développer (compilateur, débuggeur, moniteur) Enterprise Edition : concerne les applications serveur (multi-tier, sécurisées, ) Glassfish API supplémentaire, documentation et exemples EE Web Profile : sous-ensemble ne concernant que les applis Web Micro Edition : pour des applications embarquées, mémoire limitées, accès permanent au réseau, etc

25 Installation des outils JDK SE : téléchargement, installation sous différentes plateformes Téléchargement et installation avec ou sans NetBeans(netbeans.org) Le JRE sera installé dans : <program files>/java/jre8 Il faut avoir les droits d administration NetBeans8 utilise n importe quel jdk7 ou 8, il le référence par jdkhome

26 Configuration des outils Netbeans Eclipse Ligne de commande PATH CLASSPATH JAVA_HOME / JRE_HOME

27 Cequ ona couvert Où trouver Java? Les téléchargements disponibles Installation des outils Java Configuration de l environnement de travail Java

28 Présentation Les technologies Java Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

29 Plan Java SE Java EE Embedded Java

30 Java SE Version standard de la livraison Java Le Java DevelopmentKit (JDK) incluant le SDK JavaFX Le Java RuntimeEnvironment(JRE) permettant d exécuter les applications Le runtime JavaFX La machine virtuelle Oracle JRockit

31 Java EE Version entreprise de Java Il existe 2 profils : EE SDK et EE Web Profile SDK Les deux versions sont livrées avec Glassfish Exemples de code, documentation et tutoriel Une plateforme pour déployer des applications d entreprise (robustesse, Web services, déploiement facilité)

32 Embedded Java Java pour environnements pauvres en ressources 2 options proposées : Java ME Embedded et Java ME Embedded Client

33 Cequ ona couvert Java SE Java EE Embedded Java

34 Présentation Caractéristiques principales et les avantages de la technologie Java Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

35 Plan Syntaxe du langage Java Les bibliothèques Java La machine virtuelle La gestion de la ressource mémoire L ouverture des technologies

36 La syntaxe du langage Java Une syntaxe rappelant celle du C++ Simple et productive Pas de pièges, objectif de lisibilité maximale

37 Les bibliothèques Java Les bibliothèques standard sont très larges Couvrent tous les aspects d une aplication Evitent le besoin de réinventer l existant De nombreuses bibliothèques de tiers

38 La machine virtuelle A l origine, une machine logicielle qui interprète du bytecode Le code Java est compilé explicitement en bytecode Les machines virtuelles compilent Just In Time Un bytecode et une machine très optimisés

39 La gestion de le ressource mémoire La mémoire n est pas gérée explicitement par le développeur Un thread de la JVM se charge de la gestion Les zones mémoire plus utilisées sont récupérées La responsabilité du développeur est de rendre la main

40 L ouverture des technologies Le processus d évolution du langage est ouvert Les spécifications sont ouvertes (JVM) De nombreux intervenants proposent des composants Certains on tendance à tirer à eux les standards

41 Cequ ona couvert Syntaxe du langage Java Les bibliothèques Java La machine virtuelle La gestion de la ressource mémoire L ouverture des technologies

42 Présentation Utiliser un environnement de développement intégré Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

43 Plan L IDE Netbeans Créer un projet Produire à partir du projet L IDE Eclipse

44 Netbeans Environnement d origine Oracle/Sun Fournit en bundle avec Java JDK Plateforme sur laquelle on installe des plugs-in Supporte plusieurs langages et plusieurs utilisations

45 Créer un projet La notion de projet n est pas Java Il faut créer un projet Netbeans Le source Java est créé/compilé à partir de ce projet Le projet peut aussi référencer des éléments extérieurs Le projet est «typé», les répertoires sont différemment organisés

46 Produire à partir du projet Production de.class, issus de la compilation Génération de fichiers zippés comme les «jar» Génération de la documentation technique

47 L IDE Eclipse Eclipse est une plateforme d origine IBM Largement utilisée Indépendante de Java Plateforme sur laquelle on installe des plugs in Multilangages, multi-utilisations

48 Cequ ona couvert L IDE Netbeans Créer un projet Produire à partir du projet L IDE Eclipse

49 Penser en termes d objets Définir le domaine du problème Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

50 Plan Domaine/métier/analyse/conception/code Rôle du modèle du domaine Rôle du modèle de conception Traduction en Java

51 Domaine -> conception -> code Le modèle du domaine est la première vue orientée objets La trace entre métier et code est assurée Le code est une autre vue du métier Le code n est là que pour répondre à un besoin métier

52 Rôle du modèle du domaine Le modèle du domaine est une vue orientée objet On peut le traduire en code (à travers des étapes nombreuses) Il est compris par le métier Il est stable (contrairement au code) Le modèle du domaine est quasiment hors informatique

53 Le modèle de conception A partir du modèle du domaine Prenant en compte l architecture technique Le modèle de conception est efficace, performant, et fidèle Il sera traduit en code

54 Traduction en Java Le type d objet est une classe -> Java Les attributs sont les données Les méthodes sont les fonctions membres Les associations sont des attributs références Le code n invente quasi rien Le corps des méthodes n est pas spécifié par un modèle de classes

55 Cequ ona couvert Domaine/métier/analyse/conception/code Rôle du modèle du domaine Rôle du modèle de conception Traduction en Java

56 Penser en termes d objets Identifier les objets Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

57 Plan Définition d un objet Pourquoi parler de classes Définir un bon objet métier Les classes applicatives Vocabulaire

58 Définition d un objet Une entité vivante, qui réagit aux messages reçus Un objet contient les données et les traitements qui permettent d agir dessus Un objet a des frontières bien définies, des états et des comportements

59 Pourquoi parler des classes Une classe est un type d objet Parler des types au lieu des exemples occurrents permet simplifier la description du problème Une classe est aussi le descripteur d objets Il y a plusieurs sortes de classes (métier, applicatives ) Une classe est lisible dans les services qu elle rend

60 Définir un bon objet métier Souvent repéré comme un groupe nominal dans un énoncé Un bon objet métier est manipulé par le métier Il contient des données importantes Il est cohérent dans un traitement

61 Les classes applicatives Une classe applicative correspond aux couches techniques Elle apparaît dans le modèle de conception N est pas le reflet des objets métier Peuvent ne contenir que des traitements

62 Vocabulaire Les classes contiennent toutes les données et traitements Rien ne peut être en dehors des classes Les objets masquent leur implémentation : c est l encapsulation Les classes définissent : des attributs (données) des méthodes (traitements)

63 Cequ ona couvert Définition d un objet Pourquoi parler de classes Définir un bon objet métier Les classes applicatives Vocabulaire

64 Présentation du langage Java Définir les classes Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

65 Plan Une classe définit les attributs et les méthodes Les visibilités autorisent ou interdisent les accès aux membres Les constructeurs sont remarquables La définition de la classe peut supporter des modificateurs

66 Une classe définit attributs et méthodes Les attributs sont typés, ce sont les données Les méthodes sont décrits par un nom, un type de retour et des paramètres, eux-mêmes typés Il n y a pas d ordre dans les déclarations Le corps des méthodes peut utiliser les attributs, les paramètres et les variables locales éventuelles Par convention, une classe commencent par une majuscule, un attribut et une méthode par une minuscule

67 Les visibilités Pour implémenter l encapsulation Visibilités : par défaut, private, protected, public Limitent l accès aux membres par d autres morceaux de code

68 Les constructeurs Les constructeurs sont des méthodes Qui portent le nom de la classe N ont pas de type de retour Initialisent les attributs L appel d un constructeur est implicite

69 La définition de classe a des modificateurs Classe publique ou non Classe extension d une autre Classe implémentation d une interface

70 Cequ ona couvert Une classe définit les attributs et les méthodes Les visibilités autorisent ou interdisent les accès aux membres Les constructeurs sont remarquables La définition de la classe peut supporter des modificateurs

71 Présentation du langage Java Identifier les composants d une classe Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

72 Plan Les composants possibles Créer des attributs Créer des constructeurs Créer des méthodes

73 Les composants d une classe Une classe définit des attributs, ou champs de données Une classe définit des constructeurs, qui initialisent ces champs Une classe définit des méthodes, ou fonctions membres Les membres sont affectés d une visibilité L ordre de leurs déclarations n est pas significatif

74 Créer des attributs Un champ de donnée est typé Son nom suit la convention : commence par une minuscule et ensuite capitalisation En général, la visibilité est privée Le type de ce champ de donnée est : Un type fondamental (int, ) Une chaîne de caractères (String) Une référence vers un autre type, standard ou utilisateur

75 Créer des constructeurs Un constructeur est une fonction membre spéciale Le nom d un constructeur est le nom de la classe Il peut avoir des paramètres, mais pas de retour Dans le corps du constructeur, on doit initialiser les champs de donnée

76 Créer des méthodes Une méthode est un traitement effectué sur un objet Son nom suit la même convention que les attributs Elle déclare une liste de paramètres (type nom) Elle peut ne pas avoir de paramètres Elle a un retour, sinon, elle déclare «void» Une méthode correspond à un message que l on peut envoyer à l objet de ce type

77 Cequ ona couvert Les composants possibles Créer des attributs Créer des constructeurs Créer des méthodes

78 Présentation du langage Java Créer et utiliser une classe de test Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

79 Plan Définition d une classe de test Construction d une classe de test Utilisation simple d une classe de test Utilisation d une classe de test via un framework

80 Définition d une classe de test Une classe qui ne sert qu à tester une autre classe Une classe est l unité de test par excellence La classe de test propose une méthode par traitement à tester Les méthodes de tests sont déclenchés par l extérieur

81 Construction d une classe de test Pour chaque classe du modèle, créer une classe de test Dans cette nouvelle classe, créer une méthode par test à réaliser Dans une méthode de test : mettre en place le jeu de test, lancer

82 Utilisation simple d une classe de test Dans un main Appeler les méthodes de la classe de test On voit qu il est plus simple de faire des appels «statiques» Remarquer la visualisation des résultats dans la console

83 Utilisation d un frameworkde test JUnits est imposé comme un frameworkde test Appels statiques Les classes et les méthodes de tests sont annotés Une ihm simple permet d identifier les réussites et les échecs

84 Cequ ona couvert Définition d une classe de test Construction d une classe de test Utilisation simple d une classe de test Utilisation d une classe de test via un framework

85 Présentation du langage Java Compiler et exécuter un programme de test Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

86 Plan Création d un programme de test Lancement d un programme de test JUnit

87 Création d un programme de test Il faut disposer des classes à tester Créer un programme avec un main Compiler et exécuter le programme Vérifier les sorties

88 Programme de test JUnit Avec un frameworkde test comme JUnit, construction des classes de test simplifié Lancement d un ihm spécifique

89 Cequ ona couvert Création d un programme de test Lancement d un programme de test

90 Utiliser des primitives Déclarer et initialiser des variables de champs Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

91 Plan Qu est-ce qu une primitive? Déclaration d un champ de donnée Initialiser un champ de donnée

92 Qu est-ce qu une primitive? Les types primitifs sont les types fondamentaux de Java Les données primitives sont placées sur la pile Les valeurs possibles sont déterminées par le type Il n est pas possible de créer de nouveaux types primitifs

93 Déclaration d un champ de donnée La forme générale est : Type nomdelavariable; On peut rajouter la visibilité Et une valeur par défaut

94 Initialiser un champ de donnée Par défaut la valeur est 0, 0.0, nullou false suivant le type Il faut donc en général donner une valeur à ce champ Initialiser par défaut, lors de la déclaration Ecrire le code d initialisation dans un constructeur

95 Cequ ona couvert Qu est-ce qu une primitive? Déclaration d un champ de donnée Initialiser un champ de donnée

96 Utiliser des primitives Décrire les types primitifs Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

97 Plan Les types entiers Les types flottants Le type caractère Le type booléen

98 Les types entiers Un octet signé : byte Deux octets signés : short Quatre octets signés : int Huit octets signés : long Pas de types non signés, mais des méthodes sur les types Integeret Long pour gérer l arithmétique non signée Les littéraux sont typés : 4 est un int, 4L est un long

99 Les types flottants 32-bit IEEE 754 : float 64-bit IEEE 754 : double Ne pas utiliser ces types pour des monétaires, mais plutôt BigDecimal Les littéraux sont typés : 5.6 est un double, 5.6F est un float

100 Le type caractère Représenté par char 16-bit Unicode, soit de \u0000 à \uffff Le type chaîne de caractère n est pas un type primitif (String)

101 Le type booléen Une valeur soit true, soit false La taille en mémoire n est pas précisée Les booléens ne peuvent être confondus ni avec des entiers, ni avec des référence (null)

102 Cequ ona couvert Les types entiers Les types flottants Le type caractère Le type booléen

103 Utiliser des primitives Déclarer des variables et leur affecter des valeurs Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

104 Plan Les variables en Java Comportement des variables locales L affectation d une valeur à une variable locale

105 Les variables en Java Les variables sont déclarées et typées Les variables attributs, ou champ de donnée Les variables paramètres Les variables locales à une méthode Notez l absence de variable globale

106 Comportement des variables locales Une variable locale est déclarée à l intérieur d une méthode Elle disparaît à la fin du bloc {} dans lequel elle est déclarée Elle doit être initialisée avant d être utilisée

107 L affectation d une variable locale Pour être utilisée, une variable doit avoir une valeur : À l initialisation Plus tard, en affectant une valeur calculée Le compilateur identifie les chemins dans la méthode Tous les chemins doivent donner une valeur à la variable Certaines variables sont utilisées en retour de fonctions

108 Cequ ona couvert Les variables en Java Comportement des variables locales L affectation d une valeur à une variable locale

109 Utiliser des primitives Utiliser des constantes Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

110 Plan Un mot clé pour créer une constante Une constante en attribut, publique ou non Une constante en variable locale

111 Un mot clé pour créer une constante En utilisant le mot-clé «final» Il faut donner une valeur à la variable Il est impossible de modifier la valeur donnée Le type de la variable est quelconque Par convention, le nom de la variable est en majuscules

112 Une constante en attribut Une constante en attribut peut-être : Une information constante pour le code de la classe -> private Une information constante pour le reste du monde -> public Un attribut publique et constant n est pas dangereux Exemple : Math.PI

113 Une constante en variable locale Une variable locale constante ne peut pas être modifiée dans sa portée Elle interdit simplement toute modification Elle est utilisable dans une classe anonyme de la même portée Dans le cas du paramètre, attention à ne pas confondre avec les «const» du C++

114 Cequ ona couvert Un mot clé pour créer une constante Une constante en attribut, publique ou non Une constante en variable locale

115 Utiliser des primitives Utiliser des opérateurs arithmétiques Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

116 Plan Les opérateurs arithmétiques en Java Le comportement des types

117 Les opérateurs arithmétiques Opérateurs +, -,/,* Opérateurs combinant affectation et opération +=, -=,/=,*= Opérateurs unaires ++, -- L opérateur %(modulo) Pas de surcharge possible des opérateurs Il existe des opérateurs au niveau des bits :&, ~, décalage <<, >>,

118 Le comportement des types Pour garder la précision des calculs, on promeut les short et byte en int Il vaut mieux donc utiliser des int Les débordements sur entiers ne sont pas gérés comme sur les réels Les littéraux ont des types : 1 est un int 1.0 est un double

119 Cequ ona couvert Les opérateurs arithmétiques en Java Le comportement des types

120 Utiliser des objets Déclarer et initialiser des objets Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

121 Plan Référence vs objet Référence locale, paramètre Référence en attribut

122 Référence vs objet Un objet est une zone mémoire allouée avec un «new» Pour garder un lien vers cette zone mémoire, on utilise une référence Un objet ne peut pas être manipulé sans référence Lors qu un objet n est plus référencé, il est finalisé Voiture titine = new Voiture()

123 Référence locale, paramètre Une référence vers un objet peut apparaître en paramètre L appelant doit fournir l objet en question Une référence peut être une variable locale Il faut initialiser cette variable : À partir d une autre référence En créant un objet

124 Référence en attribut Une référence peut être un attribut Il s agit d un lien vers un autre objet Les règles d initialisation des types primitifs s appliquent Valeur nullpar défaut Initialisation lors de la déclaration ou dans un constructeur

125 Cequ ona couvert Référence vs objet Référence locale, paramètre Référence en attribut

126 Utiliser des objets Stocker des objets en mémoire Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

127 Plan Un objet peut référencer d autres objets Règles d accès aux objets en mémoire

128 Un objet peut référencer d autres objets Via des attributs en mémoire Des graphes d objets sont stockés en mémoire Exemple : Le gobelet référence des dés Tant que le gobelet existe en mémoire, les dés aussi La règle d encapsulation s applique, le gobelet ne peut accéder aux membres privés des dés

129 Règles d accès aux objets Les objets ne sont finalisés (ramassés) que lorsqu ils ne sont plus référencés Cette règle s applique aux graphes d objets Suppose que les références sur objet sont comptées Il faut que le développeur pense à mettre ses références à «null»

130 Cequ ona couvert Un objet peut référencer d autres objets Règles d accès aux objets en mémoire

131 Utiliser des objets Utiliser des références d objets Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

132 Plan Référence et objets Accéder à un champ d un objet Accéder à une méthode d un objet

133 Référence et objet Un objet est accessible via les références qui pointent vers lui Une référence est un accès mémoire, mais non explicite La sélection des membres se fait avec l opérateur «.» Obtenir une référence à un objet se fait : En créant soi-même l objet En invoquant une méthode qui crée l objet et nous le retourne En récupérant la référence en paramètre

134 Accéder à un champ Via une référence, on obtient un accès aux membres Si le champ est accessible (champ«public» par exemple) Avec un code genre : ref. attribut Je peux lire, modifier l attribut de l objet pointé par ref Un accès direct à un champ est rare, car cela ne respecte pas l encapsulation

135 Accéder à une méthode Via une référence, on accède aux traitements de l objet L appel se réalise comme pour un attribut, mais avec des parenthèses, même s il n y a pas de paramètres à passer Le déclenchement de la méthode suppose un effet sur l objet : La méthode nous retourne le résultat d un calcul La méthode modifie l état de l objet En général, l objet peut garder le résultat du calcul lui-même

136 Cequ ona couvert Référence et objets Accéder à un champ d un objet Accéder à une méthode d un objet

137 Utiliser des objets Utiliser les javadocs Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

138 Plan Qu est-ce que javadoc? Visiter la documentation de jse Appliquer la documentation dans son code

139 Qu est-ce que javadoc? Javadoc est un outil pour produire de la documentation technique Il peut être appliqué sur son propre projet La structure de la documentation suit celle du projet Les textes qui apparaissent sont des compléments que l on peut ajouter

140 Visiter la documentation jse Accéder au site Oracle, ou bien en utiliser un téléchargement Trouver le package, la classe, la méthode La description contient des généralités, des exemples Voyons la classe Date, la classe Math

141 Appliquer la documentation au code Avec la classe Date, créer une Date nowet today Un constructeur par défaut qui créer un Date maintenant Avec la classe Math, comprendre la description des champs Voir le lien avec d autres classes, StrictMath

142 Cequ ona couvert Qu est-ce que javadoc? Visiter la documentation de jse Appliquer la documentation dans son code

143 Utiliser des objets Utiliser des objets String et StringBuilder Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

144 Plan La chaîne de caractères String Les limites de la classe String L intérêt de StringBuilder

145 La chaîne de caractères String Une classe, avec des comportements Une création exceptionnelle, rappelant les types primitifs L application de l opérateur +, y compris pour concaténer des primitives Méthode de manipulation de chaîne Voir la documentation pour les détails

146 Les limites de la classe String Une String est «immutable value» Toutes les méthodes qui semblent modifier l objet String en crée un autre Très peu efficace pour créer un buffer

147 L intérêt de StringBuilder La classe StringBuildern a pas de relation de type avec String Dédiée à la gestion de buffer Ajout de morceaux de chaînes Troncature aléatoire On obtient à tout moment le buffer via tostring()

148 Cequ ona couvert La chaîne de caractères String Les limites de la classe String L intérêt de StringBuilder

149 Utiliser des opérateurs et des structures décisionnelles Opérateurs relationnels et conditionnels Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

150 Plan Les opérateurs relationnels Les opérateurs conditionnels

151 Les opérateurs relationnels Opérateur ==,!=, <,>,<=,>= Evalués à un booléen S appliquent à tous les types primitifs S appliquent aussi aux références, mais attention pas aux objets

152 Les opérateurs conditionnels Les opérateurs &&, sont court-circuit Les opérateurs &,,^ s appliquent comme sur les bits d un entier L opérateur! est NOT L opérateur ternaire : (a > b )? A : b Si a est supérieur à b alors a sinon b

153 Cequ ona couvert Les opérateurs relationnels Les opérateurs conditionnels

154 Utiliser des opérateurs et des structures décisionnelles Tester l égalité entre chaînes Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

155 Plan L égalité physique ou sémantique des objets La classe String et ses méthodes == ou bien equals( )?

156 L égalité sémantique ou physique Un objet est sur le tas et est référencé via une référence L opérateur == s applique sur la référence, test physique Comparer deux objets en prenant en compte ce qu ils contiennent est le test sémantique Le test sémantique se fait PAR les objets eux-mêmes Il n y a pas de test sémantique par défaut en Java

157 La classe String et ses méthodes Méthode equals: test d égalité de 2 objets String String str1 String str2 Test : str1.equals(str2) Méthode equalsignorecase: test d égalité sans prendre en compte la casse

158 == ou bien equals( ) == est un test physique Les méthodes equals ou equalsignorecase testent le contenu == peut servir à identifier le contenu CAR String est une «immutable value»

159 Cequ ona couvert L égalité physique ou sémantique des objets La classe String et ses méthodes == ou bien equals( )?

160 Utiliser des opérateurs et des structures décisionnelles Evaluer différentes conditions et coder Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

161 Plan Les expressions booléennes Tester une seule condition, simple ou complexe Tester une suite de condition Un branchement complexe

162 Les expressions booléennes Un expression booléenne est une expression dont l évaluation donne true ou false Un numérique ou une référence ne sont pas des booléens Le type «boolean» représente une variable booléenne

163 Tester une seule condition Pour tester une seule condition : «if» avec ou sans accolades Il est courant de rajouter systématiquement les accolades pour éviter une erreur future : les indentations ne comptent pas Il est courant de rajouter un «else» car un «if» seul est peu lisible La condition est mise entre parenthèses La condition peut être complexe, utilisant les opérateurs booléens

164 Tester une suite de condition Il faut enchaîner les «if» et les «else» La logique conditionnelle pose rapidement des problèmes : De lecture, le code est long à lire De fragilité, difficile de modifier une condition sans impact Facile à boguer, la logique est compliquée Les conditions elles-mêmes sont rapidement trop complexes

165 Un branchement complexe Lorsqu une seule variable est tester, pour un ensemble de valeurs En utilisant «switch / case», on simplifie un peu Mais la variable est forcément primitive Peu être le signe d un manque de conception objet

166 Cequ ona couvert Les expressions booléennes Tester une seule condition, simple ou complexe Tester une suite de condition Un branchement complexe

167 Utiliser des opérateurs et des structures décisionnelles Créer des if et if/else Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

168 Plan L instruction «if» Le couple «if/ else» L intense «if/ else/ if /else/»

169 L instruction «if» L instruction «if» est suivie d une condition entre parenthèses Il y a une seule instruction derrière un «if» Mais on va placer plusieurs instructions grâce aux accolades

170 Le couple «if / else» Un «if» sans «else» a t-il du sens? Une seule instruction après un «else», ou bien des accolades

171 L intense Enchaîner des «if / elseif /» est rarement une bonne idée

172 Cequ ona couvert L instruction «if» Le couple «if/ else» L intense «if/ else/ if /else/»

173 Utiliser des opérateurs et des structures décisionnelles Enchaîner les conditions Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

174 Plan L instruction «if/ else» Le cas de la création des objets Que testent réellement les conditions?

175 L instruction «if / else» Une instruction conditionnelle est rapidement inévitable Ne pas la rendre trop complexe Eventuellement réduire la complexité

176 Le cas de la création des objets Pour créer un objet, il faut connaître sa classe La logique conditionnelle est donc quasi-imparable

177 Que testent réellement les conditions? Il faut éviter de tester le type des objets Par instanceof Par un autre moyen Pour déclencher des méthodes sur des objets en fonctions des types, il faut penser polymorphisme Les conditions sont souvent des primitives La combinaison des variables de conditions reflète le résultat d une méthode

178 Cequ ona couvert L instruction «if/ else» Le cas de la création des objets Que testent réellement les conditions?

179 Utiliser des opérateurs et des structures décisionnelles L instruction switch Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

180 Plan Forme générale du switch Quand utiliser switch Quand ne pas utiliser switch

181 Forme générale du switch Il faut une variable, entière jusqu à Java7, String compris depuis Le cas par défaut est optionnel

182 Quand utiliser le switch Reste simple et inévitable

183 Quand ne pas utiliser le switch Expression complexe, qui pourrait être remplacée par une conception plus poussée Oublier le «default»

184 Cequ ona couvert Forme générale du switch Quand utiliser switch Quand ne pas utiliser switch

185 Créer et utiliser des tableaux Déclarer et instancier un tableau à 1 dimension Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

186 Plan Qu est-ce qu un tableau? Tableau de primitives Tableau d objets

187 Qu est-ce qu un tableau? Le tableau est un objet Il s instancie avec un new Son type et T[ ] Il ne fournit aucune information, n a aucune intelligence

188 Tableau de primitives Un tableau de type primitifs contient les valeurs Les valeurs sont mises à 0 (en fonction du type) Une seul «new» suffit à disposer des données

189 Tableau d objets Le tableau d objets n existe pas Le tableau est un tableau de références Les références sont mises à null Il faut donc un autre new pour chaque objet dont on veut disposer

190 Cequ ona couvert Qu est-ce qu un tableau? Tableau de primitives Tableau d objets

191 Créer et utiliser des tableaux Déclarer et instancier un tableau à 2 dimensions Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

192 Plan Qu est-ce qu un tableau à deux dimensions? Les services de ce tableau

193 Qu est-ce qu un tableau à deux dimensions? On spécifie 2 dimensions, le tableau est donc une matrice Il faut deux indices pour ranger un élément dans le tableau On peut aussi l initialiser de façon statique

194 Les services de ce tableau L attribut en lecture seule «length» est disponible pour les 2 dimensions

195 Cequ ona couvert Qu est-ce qu un tableau à deux dimensions? Les services de ce tableau

196 Créer et utiliser des tableaux Utiliser une boucle for dans le tableau Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

197 Plan Les boucles for, while, do-while, for(each) Le parcours du tableau à une dimension Le parcours du tableau à 2 dimensions

198 Les boucles La boucle while(cond) {} La boucle do { } while(cond) ; La boucle for( inti =0; i<cond; i++) {} La boucle for ( E e: tab) {}

199 Parcourir un tableau à une dimension Avec une boucle for basé sur une variable La variable de boucle est indice d accès dans le tableau Avec une boucle for «each» On ressort l élement contenu dans le tableau

200 Parcourir un tableau à deux dimensions Avec une double boucle Les variables de boucles sont les indices d accès aux éléments du tableau La capacité du tableau «length» est utilisée

201 Cequ ona couvert Les boucles for, while, do-while, for(each) Le parcours du tableau à une dimension Le parcours du tableau à 2 dimensions

202 Créer et utiliser des tableaux Créer et initialiser une ArrayList Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

203 Plan Qu est-ce que java.util.arraylist? Comment initialiser une ArrayList Parcourir une ArrayList

204 Qu est-ce qu une ArrayList? Un objet de java.util Tableau dynamique, se redimensionne seule Offre des services supplémentaires

205 Comment initialiser une ArrayList En la remplissant au fur et au mesure, avec «add» En lui donnant une taille initiale

206 Parcourir une ArrayList En utilisant un indice jusqu à «size» En utilisant le for «each»

207 Cequ ona couvert Qu est-ce que java.util.arraylist? Comment initialiser une ArrayList Parcourir une ArrayList

208 Créer et utiliser des tableaux Utiliser l instruction import Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

209 Plan Le package java.util Utiliser import

210 Le package java.util Les classes de collection se trouvent dans java.util Voir la documentation On ne peut pas utiliser le nom simple de la classe ArrayList, sans son nom de package Cela garantit l absence de collision entre les noms de classes

211 L instruction import Arbitrage entre utiliser le nom complet de la classe Ou bien faire un «import» de la classe, et utiliser son nom court Aucun impact sur le code généré Confort de codage et de lecture Pas d import du package lui-même On importe des classes d un package On peut importer toutes les classes d un package

212 Cequ ona couvert Le package java.util Utiliser import

213 Créer et utiliser des tableaux Accéder à une valeur d un tableau Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

214 Plan Accéder aux valeurs dans un tableau Accéder aux valeurs dans une ArrayList

215 Accéder aux valeurs dans un tableau Le tableau supporte l accès aléatoire Avec l opérateur [], on lit n importe quelle valeur Les débordements sont repérés Le même opérateur permet d écrire Le tableau ne se redimensionne pas

216 Accéder aux valeur d une ArrayList Ce tableau peut se redimensionner seul Avec get(int), on obtient la ièmevaleur Mais pour modifier le ième élément, utiliser add(int, E)

217 Cequ ona couvert Accéder aux valeurs dans un tableau Accéder aux valeurs dans une ArrayList

218 Créer et utiliser des tableaux Utiliser le tableau args Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

219 Plan Les arguments de la ligne de commande Parcourir le tableau Convertir les éléments de ce tableau

220 Les arguments de la ligne de commande Les arguments fournit après «java app» sur le ligne de commande Séparés par des blancs Ce sont des chaînes de caractères dans le main

221 Parcourir le tableau Soit utiliser length, soit for«each» La capacité du tableau est sa taille utile Permet typiquement de passer des options à l application Utilisable même avec netbeans ou eclipse

222 Convertir les éléments du tableau Pour être exploitable, il faut souvent convertir en entiers? Integer.parseInt(str) Attention à prendre en compte des erreurs de type Gérer les exceptions Rechercher le type

223 Cequ ona couvert Les arguments de la ligne de commande Parcourir le tableau Convertir les éléments de ce tableau

224 Utiliser des boucles Coder une do/while Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

225 Plan Les composants de la boucle do /while Les composants de la boucle while Les erreurs à ne pas faire

226 Les composants de la boucle do/while Un bloc de code à exécuter Une condition à respecter Une condition d arrêt

227 Les composants de la boucle while Une ou plusieurs instructions dans un bloc Une condition pour arrêter la boucle

228 Les erreurs à ne pas faire Pour le «while», ne pas oublier les accolades si besoin Que la condition permette de sortir de la boucle

229 Cequ ona couvert Les composants de la boucle do /while Les composants de la boucle while Les erreurs à ne pas faire

230 Utiliser des boucles Développer une boucle for Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

231 Plan Les composants d une boucle «for» Les avantages du for sur le while Les écritures limites du «for»

232 Les composants d une boucle for Initialisation Tant que Incrément

233 Les avantages du for sur le while Le «for» possède toujours 3 parties On oublie moins la modification de la variable de boucle L initialisation est plus évidente

234 Les écritures limites du for Utiliser un «for» pour une boucle infinie Oublier volontairement une partie du «for» Mettre des listes d initialisation Mettre des listes d incréments Utiliser des conditions d arrêt compliquées

235 Cequ ona couvert Les composants d une boucle «for» Les avantages du for sur le while Les écritures limites du «for»

236 Utiliser des boucles Utiliser des ArrayListdans une boucle for Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

237 Plan Remarques sur le contenu d une ArrayList Parcourir une ArrayListen utilisant «get» Parcourir une ArrayList en utilisant un itérateur

238 Remarques sur le contenu d une ArrayList ArrayList est une implémentation tableau Depuis Java5, ArrayList peut être typé : ArrayList<String> Avant, ArrayList contient des Object Il est possible de récupérer le ièmeélément du tableau L ordre est conservé!

239 Parcourir une ArrayListavec get Avec la méthode «get», on peut passer un indice Récupérer le ième élément La méthode «size» donne le nombre d éléments présents

240 Parcourir une ArrayListavec des itérateurs Un itérateurest une sorte de «curseur» sur l ArrayList Il peut avancer et donner l élément courant L indice auquel on accède n est plus important Pratique si on veut juste parcourir du premier au dernier

241 Cequ ona couvert Remarques sur le contenu d une ArrayList Parcourir une ArrayListen utilisant «get» Parcourir une ArrayList en utilisant un itérateur

242 Utiliser des boucles Comprendre la portée des variables Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

243 Plan Définir la portée d une variable Les variables locales et les paramètres Les variables champ de donnée Pourquoi n y a t-il pas en Java de variable de portée globale?

244 Définir la portée d une variable La zone de code où l accès à la variable est possible Plus la portée est réduite, plus la gestion de la ressource est simple La donnée disparaît elle-même dans certains cas Lorsqu on sort de la portée d une référence, on n accède PLUS à l objet En Java, les blocs { } limite la portée d une variable

245 Les variables locales et paramètres Une variable locale ne peut pas être utilisée en dehors de la méthode dans laquelle elle est déclarée Pour garder la donnée, il faut la recopier dans une autre variable Retour de fonction Variable attribut Les paramètres sont des sortes de variables locales La valeur est fournie par l appelant

246 Les variables champ de donnée Un attribut, ou champ de donnée a une portée limitée par la classe Il appartient à l objet ou à la classe (cfstatic) L attribut a donc une portée supérieure à celle d une variable locale

247 Pas de variables globales en Java La portée ultime serait la variable globale Mais ce type de portée pose des problèmes Difficile de maîtriser qui utilise la variable Etat de la variable cahotique Avec le «static», certains essaient de recréer la situation d une portée globale

248 Cequ ona couvert Définir la portée d une variable Les variables locales et les paramètres Les variables champ de donnée Pourquoi n y a t-il pas en Java de variable de portée globale?

249 Utiliser des méthodes Créer et appeler des méthodes Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

250 Plan Créer une méthode dans une classe Appeler une méthode

251 Créer une méthode Pour réaliser un traitement sur les données de l objet Une méthode a une implémentation Pour proposer un service à l extérieur Une méthode a une signature Les variables : locale, paramètre, champ Le retour n est pas obligatoire

252 Appeler une méthode Il faut accéder à un objet de ce type Utiliser l opérateur «.» pour sélectionner la méthode Passer des arguments Utiliser ou non le retour

253 Cequ ona couvert Créer une méthode dans une classe Appeler une méthode

254 Utiliser des méthodes Transmettre des arguments Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

255 Plan Le passage des arguments à l appel Le passage de primitives Le passage d objets

256 Le passage des arguments à l appel Lors de l appel de la méthode, utiliser les parenthèses Les parenthèses seules si pas d argument La liste des arguments sans leurs types Les arguments doivent correspondre aux types attendus Il n est pas possible d omettre des arguments Pas de valeurs par défaut sur les paramètres

257 Le passage de primitives Les primitives sont toujours recopiées dans la méthode Les paramètres sont donc en IN Il n y a aucun mot clé pour changer ce comportement On dit que les primitives sont passées par valeur

258 Le passage des objets Les objets sont référencés La copie entière des objets n existe pas en Java Le passage ne concerne que les références des objets On dit que les objets sont passés par références

259 Cequ ona couvert Le passage des arguments à l appel Le passage de primitives Le passage d objets

260 Utiliser des méthodes Créer des méthodes et des variables statiques Site : Blog : Forum : Fabien Brissonneau Consultant, concepteur et formateur Objets Logiciels

261 Plan Créer des variables statiques et les utiliser Créer des méthodes statiques et les utiliser

262 Créer des variables statiques et les utiliser Définition d une variable statique Une variable qui est allouée en dehors des objets La syntaxe pour déclarer un champ statique :«static» L intérêt des champs statiques Unicité de l information pour tous les objets Accès aux données sans objet Utilisation dénoncée : une variable globale en Java!!

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

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

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

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

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

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

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

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

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

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

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

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

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 pourquoi?

Java c est quoi? Java pourquoi? Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

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

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

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

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

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

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

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

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

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

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

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

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

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

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

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

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Apprendre Java en 154 minutes

Apprendre Java en 154 minutes Apprendre Java en 154 minutes Tutorial Java 1.6 - HESB-TI Stéphanie Calderara José R. Beuret Quentin Cosendey Mai 2008 Table des matières 1 Objet, classe et modificateur 3 1.1 Le premier pas..........................

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

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

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

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

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

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET I. INTRODUCTION 1.1. HISTORIQUE 1991: Concepts Java pour Sun -conception d'un langage pour des appareils électroniques(code embarqué) -syntaxe proche du C++

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

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

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

Programmation Orientée Objets Le Langage JAVA

Programmation Orientée Objets Le Langage JAVA Module IP1 Programmation Orientée Objets Le Langage JAVA Amaury Habrard Université de Saint-Etienne amaury.habrard@univ-st-etienne.fr Mis à jour par François-Xavier Dupé Université d Aix-Marseille francois-xavier.dupe@lif.univ-mrs.fr

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

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

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

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

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

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

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

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

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

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

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

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

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

CIE303 - Programmation Orientée Objet en Java

CIE303 - Programmation Orientée Objet en Java Module 303 Programmation orientée objet en Java Version 1.0 (Fortement inspiré et traduit de «The Java Tutorial» http://docs.oracle.com/javase/tutorial/) 02.02.2013 [1] 1. Table des matières Sommaire 1.

Plus en détail

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

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

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

Plus en détail

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

Programmation Orientée Objet application au langage Java Version Novembre 2007 Programmation Orientée Objet application au langage Java Version Novembre 2007 Mickaël BARON - 2007 mailto:baron.mickael@gmail.com ou mailto:mickael.baron@serli.com SERLI informatique SERLI : www.serli.com

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 16 Responsable

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

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

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

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

Plus en détail

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

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

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

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

4. Groupement d objets

4. Groupement d objets Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

La carte à puce. Jean-Philippe Babau

La carte à puce. Jean-Philippe Babau La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

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

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

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

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

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

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail