JAVA Jean-Jacques LE COZ. Présentation Langage de l'éditeur Sun Microsystems Divisé en trois parties Java standard SDK Java Entreprise J2EE Java Micro.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Au programme du jour …. Livraison de code Organisation des répertoires et packages Ce que vous navez pas encore vraiment vu Constantes et variables de.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Programmer en JAVA par Tama
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IJA - TD 2 Bases du langage
Programmation par Objets et Java
1 Une introduction à Java IFT 287 (Semaine 1). 2 Java - Historique Développé par Sun Microsystems en 1994 –Inventeur James Gosling (canadien!) Objectif.
Principes de programmation (suite)
Outils de tests, logs et documentation Frédéric Moalannée 2010/2011 POO.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Introduction à la programmation (Java)
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 1 : Introduction.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
PHP 1° PARTIE : LES BASES © BTS IRIS 2002 [tv] Présentation Historique
Variables et accès en Java. Déclaration des variables final transient static private Printer hp; transient => ne doivent pas être sérialisées volatile.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
IFT 232 Méthodes de Conception Orientées Objets Introduction.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Introduction au langage JAVA
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Programme de baccalauréat en informatique Structures de données IFT Abder Alikacem TP4 Département d’informatique et de génie logiciel Édition septembre.
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
LES CLASSES ET LES OBJETS
Mediator 9 - Un outil de développement multimédia 3AC Techno/Informatique.
Développement d’application avec base de données Semaine 3 : Modifications avec Entité Framework Automne 2015.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 10 Support de cours rédigé par Bernard COFFIN Université.
Les outils de tests 1 1 CHAKI Abderrazak - ETIENNE Jonathan - TOUMI Nacereddine - VACHER Nicolas.
UNIX AVANCE Yves PAGNOTTE – Janvier – QUELQUES RAPPELS SUR LES SYSTEMES D’EXPLOITATION 1.
1 Les bases de données Séance 7 Les fonctions avancées : Opérateurs ensemblistes, Sous-requêtes et transactions.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 1 Support de cours rédigé par Bernard COFFIN Université.
Sockets/rmi - Y. Bekkers1 Applications réparties en Java Paquetage java.net – Sockets Objets distants transparents – RMI Yves Bekkers.
Spécialisation covariante cours et TP. Plan  Introduction  Rappels théoriques  Définition de la covariance  Présentation du modèle servant d'exemple.
1 ALGORITHMIQUE AVANCEE IUT Vélizy – RT2 FA Laurent Marsan.
Automates Programmables Industriels ( ITEEM 2004 ) I.T.E.E.M de BEAULIEU Enseignante : Mme RECHID CHAPITRE 7 Le Logiciel PL7 Présentation - Ergonomie Les.
Réflexion sur un exemple possible de projet proposé en I.S.N.
JAVA et l'orientation objet Jean-Jacques LE COZ. Encapsulation L'encapsulation est le concept de masquer l'implémentation de la classe De ne permettre.
Introduction à la Programmation Orientée Objet H.GATI.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – RAPPELS SUR UNIX DE BASE.
Principes de l'orienté objet Jean-Jacques LE COZ.
Human Task Service (2008) Oscar Barrios et François Charoy Human Task Service Service de tâches dans un système de gestion de workflow Oscar Barrios
Informatique 1A Langage C 6 ème séance 1. Objectifs de la séance 6  Allocation dynamique de mémoire  Application à la création de tableaux 2.
Informatique 2A Langage C 3 ème séance.
IFT359 – Programmation fonctionnelle Thème #8 Création de nouvelles formes syntaxiques 1.
Cours de Langage C Les structures
INSCRIPTIONS SPORTIVES
Persistance en bases de données O.Legrand G. Seront.
JAVA.
Programmation Orientée Objet I. Introduction
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Le langage C# : Partie 1.
INTERFACE ET POLYMORPHISME
Transcription de la présentation:

JAVA Jean-Jacques LE COZ

Présentation Langage de l'éditeur Sun Microsystems Divisé en trois parties Java standard SDK Java Entreprise J2EE Java Micro Edition J2ME S'exécute en environnement géré Machine virtuelle Java (JVM) Serveur d'application

Licence Logiciel Open source Depuis toujours Logiciel Libre Depuis le 13 novembre 2006 Deux licences Licence GPL V2 (GNU Public Licence) Licence GPL V2 Classpath Exception GPL Licence de la Free Software Foundation

JVM (Java Virtual Machine) Concept de machine virtuelle Le code source est compilé Le compilateur produit le bytecode stream dans des fichiers.class Ce code a pour nom Java bytescode Il est portable dans toute JVM Ce code est exécuté par la JVM La JVM isole l'environnement d'exécution de la plateforme Les JVM sont spécialisées par plateforme

Procédure de compilation et d'exécution Code source Java Fichier.Class Java Compilation Java Fichier.Class Java Interprétation Java... Exécution Tâche 1 Tâche 2 Tâche N

Versions de JDK Première version v1.0 en 1996 Version actuelle v1.5 ou 5.0 dite Tiger Prochaine version dite Mustang v1.6 ou 6.0 Versions précédentes v1.2 (ajout de la librairie swing) v1.3 v1.4

Atouts du langage Java Orienté objet Portable Possède un grand nombre de librairies Sécurisé Performant Ouvert et libre Fédère et dynamise une grande partie de l'industrie Étendue de ses applications

Commentaires int x ; // une ligne de commentaire /* un autre commentaire */ /** un commentaire javadoc */ Le langage Java est fourni avec un mécanisme de production automatique de documentation en HTML

Définition de variables Syntaxes possibles ;, ; = ; Exemples int x; int x = 9; boolean sentinelle = false; Personne personne = new Personne();

Affectation ou assignation Syntaxe = ; Exemples int x = 4; x = 9; temperature = 21.5 Personne p = new Personne();

Type abstrait de données Défini par le programmeur En Java, tout est classe Définition d'une classe public class Chien { public void aboyer() { System.out.println(''Ouaf''); }

Invocation des méthodes Syntaxes pour l'invocation. () ; =. ( ) ; Exemple unchien.aboyer();

Définition des méthodes Syntaxes Avec valeur retournée ( ) { } Sans valeur retournée void ( ) { }

Précisions sur les méthodes Signature de méthode Le nom et les arguments participent à la signature de la méthode Deux méthodes ayant le même nom et pas la même signature sont dites surchargées (method overloading) Impossibilité Deux méthodes ne peuvent avoir le même nom et les mêmes arguments avec un type retour différent

Allocation dynamique de mémoire Avec l'opérateur new Syntaxe variable = new ( ) Création d'instances de classes Exemple Personne p = new Personne();

Application Java Une application Java consiste en : Un ou plusieur fichiers.class Un programme avec un début et une fin Définis dans une méthode main() Début : main() Fin : exit() public class SimpleProgramme { public static void main(String[ ] args) { System.out.println(''Bonjour Le Monde''); System.exit(0); }

Application avec une classe public class Main { public static void main ( String[ ] args ) { Chien unchien = new Chien() ; unchien.aboyer() ; System.exit() ; }

Le « Tas » d'exécution JVM Main.class Chien.class main() { instance de Chien TAS (HEAP) Chien chien = new Chien() ;

Autre exemple public class Chien { private String message = new String(''Ouaf, ouaf''); public void aboyer() {System.out.println(message); } public static void main(String[] args) { Chien unchien = new Chien(); }

Le « Tas » d'exécution JVM Main.class Chien.class main() { instance de Chien TAS (HEAP) Chien chien = new Chien() ; instance de String

Types de donnée primitifs

Les Wrappers de type primitif Classes de la librairie java.lang String Double Boolean Float Integer...

Structures de contrôle

Opérateurs de comparaison Les mêmes que pour le C/C++ < inférieur <= inférieur ou égal > supérieur >= supérieur ou égal ==égal !=différent

Opérateurs logiques Identiques au C/C++ sauf qu'il est impossible d'utiliser une variable non booléenne comme si elle en était une. Opérateurs &&le « et » logique (short circuit) ||le « ou » logique (short circuit) Les opérateurs logiques produisent une valeur booléenne

Structures itératives

Contrôle à l'intérieur des itérations La commande break Arrête l'itération et sort de la boucle La commande continue Force à passer à l'itération suivante

Opérateurs multifonction ++incrémente de 1 -- décrémente de 1 +=incrémente par la rvalue spécifiée -=décrémente par la rvalue spécifiée *= multiplie par la rvalue spécifiée /=divise par la rvalue spécifiée %=divise par la rvalue spécifiée et renvoie le reste entier de la division

Exemples

Le cas particulier des chaînes de caractères La classe String Fait partie du package java.lang.String Possède un grand nombre de méthodes Pour manipuler les chaînes de caractères Java offre une facilité de création String chaine1 = new String(''abcd'') ; String chaine2 = ''abcd'' ; Java offre une facilité de manipulation Le signe « + » convertit et concatène

Passage des variables aux méthodes Pour les types primitifs Le passage se fait par valeur (call by value) Pour les type abstraits (classes) Le passage se fait par référence (call by reference) Chien bruno = new Chien() ; bruno.nom = ''bruno''; System.out.println(bruno) ;

Valeurs d'initialisation

Expressions Java évalue une expression de la gauche vers la droite Les parenthèses servent à contrôler l'ordre de l'évaluation Exemples int x = (4 + 32) / (2 + 1); // x == 12 new Chien().aboyer();

Gestion des exceptions Les exceptions sont des objets Java Elles dérivent de java.lang.Throwable Bloc try/catch Encadre du code susceptible de lever une exception Bloc finally Exécuté après la levée des exceptions Exceptions throws Filtre entièrement tout le code d'une méthode

Classes intéressantes du paquetage java.lang La classe Math Méthodes ceil(), floor(), max(), min(), random(), abs(), round(), sin(), cos(), tan(), and sqrt() La classe StringBuffer

Processus fins : threads Les threads sont des objets en Java Il suffit d'étendre la classe java.lang.Thread Ou d'implémenter l'interface Runnable La méthode run() doit être implémentée États des threads New, Runnable, Running, Alive, Waiting, Blocked, Dead

Ramasse miettes Garbage collection Supprime les objets non référencés de la JVM Automatiquement exécuté par la JVM Peut être désactivé ou paramétré au lancement de la JVM Peut être appelé explicitement dans un programme Java System.gc() ou Runtime.getRuntime().gc()

Variables d'environnement Le chemin jusqu'aux commandes Java La variable PATH export PATH=/usr/java/jdk5/bin:$PATH Le chemin jusqu'aux ressources d'une application La variable CLASSPATH export CLASSPATH=./:/home/dupont/projet Ressources Les classes de l'application Les classes nécessaires à la compilation Les classes nécessaires à l'exécution

Références The Java Language Specification, Gosling, J., Joy, B., and Steele, G. Addison- Wesley, 2000, ISBN Java in a Nutshell, Flanagan, D. O'Reilly & Associates, 1999, ISBN Core Java 2, Volume I - Fundamentals, Horstmann, C.S. and Cornell, G. Prentice Hall, 1999, ISBN Core Java 2, Volume II - Advanced Features, Horstmann, C.S. and Cornell, G. Prentice Hall, 2000, ISBN Sun Microsystem's Java tutorial