CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr



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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Programmer en JAVA. par Tama

as Architecture des Systèmes d Information

Une introduction à Java

Java Licence Professionnelle CISII,

PROGRAMMATION PAR OBJETS

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

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

Cours 1: Java et les objets

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Java Licence Professionnelle CISII,

TP1 : Initiation à Java et Eclipse

Langage Java. Classe de première SI

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

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

Programmation en Java IUT GEII (MC-II1) 1

INF 321 : mémento de la syntaxe de Java

INITIATION AU LANGAGE JAVA

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

Structurer ses données : les tableaux. Introduction à la programmation

Java - la plateforme

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

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

Java c est quoi? Java pourquoi?

Initiation à JAVA et à la programmation objet.

La technologie Java Card TM

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

Corrigé des exercices sur les références

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

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Programme Compte bancaire (code)

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

Derrière toi Une machine virtuelle!

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

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

Introduction au langage Java

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Introduction au langage C

Utilisation d objets : String et ArrayList

TP, première séquence d exercices.

Auto-évaluation Programmation en Java

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

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

Programmation Objet Java Correction

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

Programmation Orientée Objet 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

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

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

Chapitre 10. Les interfaces Comparable et Comparator 1

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

Un ordonnanceur stupide

Premiers Pas en Programmation Objet : les Classes et les Objets

1 Définition d une classe en Java

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

1. Langage de programmation Java

Introduction : les processus. Introduction : les threads. Plan

Notions fondamentales du langage C# Version 1.0

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

Support de cours et TD Programmation Orientée Objet

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

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Chapitre 2. Classes et objets

Programmation par les Objets en Java

La carte à puce. Jean-Philippe Babau

Programmation Orientée Objets Le Langage JAVA

Apprendre Java en 154 minutes

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

Machines Virtuelles. et bazard autour. Rémi Forax

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Cours d initiation à la programmation en C++ Johann Cuenin

Java Licence professionnelle CISII,

Principes des langages de programmation INF 321. Eric Goubault

Projet de programmation (IK3) : TP n 1 Correction

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

TP1. Outils Java Eléments de correction

Package Java.util Classe générique

COMPARAISONDESLANGAGESC, C++, JAVA ET

Programmation avec des objets : Cours 7. Menu du jour

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

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

Threads. Threads. USTL routier 1

Programmeur Java 1.4 et 5.0

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

Programmation Bas Niveau

Les bases de l informatique et de la programmation. École polytechnique

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

Programmation Orientée Objet

ACTIVITÉ DE PROGRAMMATION

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

Conventions d écriture et outils de mise au point

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

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

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

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

CPR Informatique. (poste 3159 ou 3164) Septembre 2002

Programmation Par Objets et Langage Java

Transcription:

CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr

Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets

Présentation du langage Un langage orienté objet La notion d objets et de classes centrale en Java Un fichier Java correspond normalement à une classe. Une application Java est consituée d un ensemble de classes. Lancer une application Java consiste à appeler une méthode particulière de la classe correspondant au programme à exécuter.

Présentation du langage Une syntaxe proche du C Déclarations de variables similaire au C : type nom ; ou type nom = val ; Structures de contrôle du C : if (condition) {...} else {... } switch (expr) { case cas1 :... ; break ; case cas2 :... ; break ;... default :... } while (condition) do {... } for (init ;test ;modif) {... } Commentaires C/C++ : // commentaire jusqu à la fin de la ligne /* commentaire pouvant tenir sur plusieurs lignes */

Présentation du langage Des application portables Write Once, Run Everywhere Compilation d une application Java : Un fichier.class par classe de l application. Contient du bytecode indépendant de la plateforme. Exécution d une application : Java Virtual Machine (JVM) Exécution sur toute plateforme possédant une JVM. Performance : recompilation à la volée du bytecode vers du code natif (Hotspot).

Présentation du langage Gestion de la mémoire automatisée Pas de pointeurs explicites en Java La notion de référence reste présente Les JVM intègrent un ramasse-miettes (Garbage Collector) Libère automatiquement la mémoire occupée par les structures de données qui ne sont plus utilisées.

Présentation du langage Un langage répandu JVM sur Windows, Mac OS, Linux et d autres Bibliothèque standard Java très fournie : Structures de données Entrées sorties Réseau Bases de données, XML Interfaces graphiques Nombreuses autres bibliothèques disponibles IDEs évoluées : Netbeans, Eclipse, JBuilder,... Pages Web dynamiques et serveurs d applications en Java

Types de données primitifs Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets

Types de données primitifs Types de base En plus des objets, Java inclus des types de base : Types numériques (signés sauf byte) : byte (8 bits), short (16 bits), int (32 bits), long (64 bits) float (32 bits), double (64 bits) Caractères : type char codé sur 16 bits en utilisant le standard unicode. Peuvent être manipulés comme des entiers non signés Booléens : type boolean (true et false) Les booléens ne sont pas des entiers en Java L implémentation des types est standard ne dépend pas de la JVM (ni de la plateforme) meilleure portabilité

Types de données primitifs Tableaux Déclaration : type [] nom ; int [] montableau ; Création : montableau = new int [10] ; new type [taille] Création avec valeurs : {val 1,val 2,...,val n } ou new type [] {val 1,val 2,...,val n } int [] autretableau = {3,5,1,3,8} ; Accès : nom[index] int unnombre = montableau[3] + 1 ; montableau[7] = unnombre * 5 ; Une erreur survient si on accède hors des cases du tableau

Types de données primitifs Tableaux (2) Taille : nom.length int tailledutableau = montableau.length ; Tableaux multidimensionnels (tableaux de tableaux) : int [][] tableaudeuxdimensions ; tableaudeuxdimensions = new int [10][20] ; tableaudeuxdimensions = new int [10] [] ; tableaudeuxdimensions[0] = new int[5] ;

Types de données primitifs Tableaux et références Une variable tableau est une référence vers le tableau : int [] tab1 = {0,1,2,3} ; int [] tab2 = new int [tab1.length] ; for (int i = 0 ; i < tab1.length ; i++) { tab2[i] = tab1[i] ; } tab1[2] = 9 ; tab2[2] vaut toujours 2. int [] tab1 = {0,1,2,3} ; int [] tab2 = tab1 ; tab1[2] = 9 ; tab2[2] vaut 9.

Objets Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets

Objets Qu est qu une classe Java? Pas un objet, plutôt un type : on peut le voir comme un struct C amélioré. Mais surtout un schéma pour créer des objets. Dans une classe, on défini : Des variables d instance (ou champs, ou attributs) type nom ; éventuellement avec une valeur par défaut : type nom = val ; ex : double x = 3.0 ; Des méthodes : fonctions qui sont liées à un objet. Des méthodes particulières servant à l initialisation des objets créés : les constructeurs

Objets Exemple de classe public class Point { } double x; // attribut double y; // attribut public Point() { // constructeur x = 0.0; // initialisation de x y = 0.0; // initialisation de y } public Point(double abscisse, double ordonnee) { //constructeur x = abscisse; y = ordonnee; } public double getdistanceorigine() { // methode double sommecarres = x*x+y*y; return Math.sqrt(sommeCarres); } public void affichedistance() { // methode System.out.println(getDistanceOrigine()); }

Objets Qu est qu une instance d une classe? C est un objet créé en utilisant cette classe comme schéma de construction. Tout objet est une instance d une certaine classe. Cet objet possède tous les champs et méthodes définis dans cette classe.

Objets Utilisation des objets Variable contenant un objet : Classe nom ; Point monpoint ; Comme pour les tableaux, la variable contient une référence vers l objet. Création d un objet : new Classe(arg 1,...,arg n ) monpoint = new Point(2.0,3.0) ; Appel au constructeur Point à deux arguments Accès à un champ : monpoint.x = monpoint.y * 2 ; objet.champ Utilisation d une méthode : objet.methode(arg 1,...,arg n ) monpoint.affichedistance() ;

Objets Le mot clef static Normalement les méthodes et les champs sont liés à des objets. L utilisation de static permet d attacher un champ ou une méthode à une classe. L utilisation est similaire au champ et méthodes non statiques : on remplace simplement l objet par la classe : Classe.champ System.out Classe.methode(arg 1,...,arg n ) Math.sqrt(4.0) ; Attention : une méthode statique ne peut pas utiliser directement une méthode non statique.

Objets Exemple public class Bonjour { } int nombrefois; public Bonjour(int nbfois) { nombrefois = nbfois; } public void ditbonjour() { for(int i = 0; i < nombrefois; i++) { System.out.println("Bonjour"); } } public static void main(string [] args) { Bonjour bj = new Bonjour(3); bj.ditbonjour(); }

Objets Les packages Groupes de classes Basée sur une organisation de répertoires un paquet correspond à un sous-répertoire dans le nom du paquet, les / sont remplacés par des. java.lang, java.io, javax.swing, javax.xml, org.xml.sax, etc Lorsqu une classe est dans paquet, son nom complet est de la forme : nom.du.paquet.laclasse ex : java.lang.math

Objets Les packages (2) Lorsqu une classe est dans paquet, le fichier dans lequel elle est définie doit débuter par : package nom.du.paquet ; Il n est pas nécessaire d utiliser le nom complet des classes qui sont dans le même paquet que la classe que l on est en train de définir. Pour éviter de répéter le nom du paquet d une classe, on peut utiliser les déclarations : pour une classe : import nom.du.paquet.laclasse ; pour toutes les classes du paquet d un coup : import nom.du.paquet.* ;

Objets Autres modificateurs de déclaration Il existe des modificateurs pour la visibilité public : visible partout protected : visible dans le paquet courant et dans les classes qui héritent de la classe courante quand on ne dit rien : visible dans le paquet courant private : visible uniquement dans la classe courante modificateur final : interdit les changements pour les variables et les champs (combiné avec static, on obtient des constantes) interdit la surcharge pour les méthodes

Objets Une classe particulière : String Chaînes de caractères en Java Ce ne sont pas des tableaux de caractères Non modifiables Valeurs entre " ". String coucou = "bonjour" ; Concaténation : opérateur + Nombreuses méthodes : char charat(int) boolean equalsto(object) boolean startswith(string) boolean endswith(string) String substring(int,int) et bien d autres...

Objets Les StringBuffers Chaînes de caractères modifiables y compris au niveau de leur taille Utilisées pour générer des chaînes de caractères Exemple : StringBuffer sb = new StringBuffer(); for (int i = 0; i < 10; i++) { sb.append("bonjour\n"); } String dixfoisbonjour = sb.tostring();