Programme de baccalauréat en informatique Structures de données IFT-10541 Abder Alikacem TP4 Département d’informatique et de génie logiciel Édition septembre.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Introduction Langage très répandu Noyau Linux VLC … Des avantages indéniables mais aussi des contraintes ! Ceci nest quun rapide tour.
Rappels C.
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
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.
Approfondissement du langage
(Classes prédéfinies – API Java)
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
C.
Programmer en JAVA par Tama
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
JAV - TD 6 Structures de données JAVA
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IJA - TD 2 Bases du langage
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Common Gateway Interface
Principes de programmation (suite)
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.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Laboratoire d'Informatique de l’Université de Franche-Comté
Principes de programmation (suite)
Introduction à la programmation (Java)
Langage Oriente Objet Cours 2.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT Abder Alikacem Gestion des exceptions Département dinformatique et de génie logiciel Édition Septembre 2009.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 1 : Introduction.
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 :
L’essentiel du langage C
PHP & My SQL.
2.1 - Historique Chapitre 2 : Introduction au langage C++
JavaScript Nécessaire Web.
Introduction Java Conception par Objet et Programmation Java
Introduction à la programmation objet avec java
ALGORITHMIQUE ET PROGRAMMATION C
Premiers pas dans le langage Java 2012/ Premiers pas dans le langage Java TI3.4 Responsable : M lle Sana Ezzedine
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Cours n° 1 Présentation du langage C++
 Syntaxe du langage PHP
Strings et Tableaux en Java
Les sockets.
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.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Cours LCS N°4 Présenté par Mr: LALLALI
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Introduction au langage JAVA
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Initiation au web dynamique Licence Professionnelle.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
PRO-1027 Programmation Scientifique en C
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.
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 - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Initiation aux bases de données et à la programmation événementielle
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

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 2006 Java

Introduction au langage Java Les grandes lignes de la syntaxe Java Processus de compilation et d'exécution Environnement Java, IDE

Java Mascotte (Duke) Logo (tasse à café)

Origines de Java Développé à partir de C et C++ Pallier aux problèmes de C++ Pointeurs (sécurité) Gestion de la mémoire Affectations...

Origines de Java Java est un environnement de programmation développé par Sun, adapté à la distribution d'application sur Internet. 4 éléments : Java est un langage de programmation objet Une machine virtuelle Des bibliothèques de classes ou des packages : API Application Programming Interface (3278 classes dans Java 1.5) Ensemble d'outils : java, javac, jdb javadoc, jar,... execution compilation debugger documentation archivage

API Java Plus qu'un langage de programmation, l'environnement Java propose une API (Application Programmer's Interface) ● L'API est structurée en package ● Pour programmer efficacement, une bonne connaissance de ces packages est indispensable. ● Ne pas refaire ce qui a déjà était fait (d'ailleur sûrement en mieux)

API Java java.lang : classes essentielles objet, types de base, processus java.util : structures de données (collections) listes, ensembles, hashtables, arbres, itérateurs java.awt : interface graphique (Abstract Window Toolkit) fenêtres, boutons, événements... java.io : entrées / sorties flot de données provenant de fichier, buffer, etc.. java.net : réseau URL, sockets java.rmi : objets distribués (Remote Method Invocation) java.sql : JDBC (Java Data Base Connectivity) connexion à une base de données relationnelle envoi de requêtes SQL, récupération des résultats java.beans : composants logiciels Pièces logicielles autonomes pouvant être contrôlées dynamiquement et assemblées pour former des applications javax.swings : interface graphique composants d'interface de plus haut niveau que ceux de awt look and feel indépendant de l'OS exploitation du modèle MVC (Model View Controler)

Versions Java (1996) : le JDK : Java Development Kit, 212 classes, 8 paquetages version minimale des browsers web. Java (1997) : 504 classes, 23 paquetages amélioration interface utilisateur (AWT), gestion des erreurs, cohérence du langage Java 1.2 (Java 2 en 1998) : 1520 classes, 59 paquetages Swing, Drag and drop, amélioration audio Java 1.3 (2001) J2SDK (nouveau nom) pour J2EE (Entreprise, serveur), J2ME (PDA) amélioration de la gestion mémoire, rapidité Java 1.4 (2002) : 2757 classes, 135 paquetages J2SDK → J2SE (nouveau nom), XML, expressions régulières, nouvelles E/S, accès à la mémoire vidéo (VolatileImage) pour l’accélération Java 1.5 (2005) : 3278 classes, 165 paquetages

JDK ( Java Development Kit ) Téléchargeable sur le site java.sun.com Outils java : JVM, interpréteur pour les programmes java javac : Compilateur Java appletviewer : JVM pour l'exécution des applets jar : Création et manipulation d 'archive java javadoc : Générateur de documentation Java au format HTML javap : désassembleur de classes Java compilées jdb : débogueur Java en ligne de commande javah : génère le header C ou C++ pour créer un pont compatible entre java et C/C++ Documentation en ligne : Téléchargeable pour installation en local

IDE ( Integrated Development Environment ) Eclipse

Forces et faiblesses Facile à utiliser et sécuritaire Code lisible et réutilisable et facile à maintenir Gestion automatique de la mémoire L’API Lent à exécuter, nécessite une JVM Difficulté face aux applications gourmandes en mémoire Moins de mécanismes objet que C++

Java Premières applications Affichage et saisie Types de données et opérateurs arithmétiques Flux de contrôle et opérateurs logiques

Types de programmes Java Application ● Programme autonome (stand-alone) ● L'application doit posséder une classe principale ayant une méthode : public static void main(String[]args) Applet Une applet Java est un programme téléchargeable qui peut s'exécuter dans un navigateur.

Les entrées/sorties Affichage (console)

Les entrées/sorties Affichage (boîtes de dialogue)

Les entrées/sorties Saisie de données (boîtes de dialogue)

Les entrées/sorties Saisie de données (clavier)

Syntaxe de Java Reprend celle du C Le ; marque la fin d'instruction Un bloc d'instructions est délimité par {} Les identificateurs sont comme en C (if, while, switch, etc.) et utilisé tel quel Les caractères sont codés en UNICODE 16 bits au lieu de 8 : accents dans le code!

Types Types de données Types primitifsTypes objets String, etc... Numériques byte short int long float double boolean char types primitifs les variables contiennent des valeurs stockés sur la pile objets (instances de classes) les variables contiennent des références stockés dans le tas

Types JavaC, C++ boolean 1 bit8 bits char 16 bits8 bits byte 8 bits short 16 bits

Types Java C, C++ int 32 bits long 64 bits32 bits float 32 bits double 64 bits long double 80 bits

Types Java est fortement typé en C et C++: int i; short j; i = j; en Java, il faut caster: int i; short j; i = (int) j;

Nombre de types Java: types primitifs ou bien une classe C, C++ : types primitifs, les structures, les pointeurs,... Pas de typedef en Java

Constantes Le mot-clé final : java: final int entier = 0; C, C++: const int entier = 0;

Opérateurs arithmétiques Similaires en Java, C et C++ + : addition - : soustraction * : multiplication / : division % : modulo ++, --: incrément et décrément

Opérateurs relationnels = = : tester l ’égalité (référence et contenu) ! = : différent > ou >= : supérieur ou égal < ou <= : inférieur ou égal

Opérateurs logiques && : AND exclusif II : OR exclusif

Structures de contrôle Conditionnelles: If switch Boucles: Pas d’instruction goto en Java For while do while

abs( x ) ceil ( x ) floor (x ) round ( x ) sqrt ( x ) max ( x ) min ( x ) cos ( x ) sin ( x ) random() PI E Méthodes Constantes Elle contient les fonctions mathématiques de base. Toutes les classes sont documentées : Une classe utile : java.lang.Math

Java Tableaux Chaînes de caractères Classes enveloppes (wrapper) Classe Vector

Tableaux Déclaration : Java: int [ ] tabEntier = new int [5]; C, C++: int tabEntier [5]; multidimensionnel: Java: double [ ] [ ] balance = new double [6] [5]; C, C++: double balance[6] [5];

Chaînes de caractères Deux sortes de chaînes de caractères: Les chaînes littérales ou constantes de chaînes de caractères : Ex: String couleur = "bleu" ; Et les objets de types String : Ex: String s0 = new String(.....); pour lesquels on utilise un constructeur.

String s0 = “bleu”; String s1 = “bleu”; String s0 = new String (“bleu”) String s1 = new String (“bleu”) bleu s0 s1 bleu s0 s1 Chaînes de caractères

La classe StringBuffer Constructeurs public StringBuffer( int capacity ); public StringBuffer( String s ); public StringBufffer(); Les StringBuffer, à l'inverse des String, sont manipulables. Les String ne sont pas muables. Le contenu ne peut pas être modifié. Toute opération créé une nouvelle chaîne.

Classes enveloppes (wrapper) Nombres entiers Nombres entiers longs Nombres décimaux Nombres décimaux en double précision Booléens Octets Caractères (Unicode) Type vide int long float double boolean byte char void Integer Long Float Double Boolean Byte Character Void

La classe Integer Les méthodes public int intValue(); //renvoie la valeur entière de l'objet (type int). public static int parseInt(String s); //renvoie la valeur entière de l'objet si // l'objet spécifié représente la chaîne d'un nombre entier en base 10. public static Integer valueOf(String s) //renvoie un objet Integer si la //chaîne s représente un nombre entier en base 10. Exemple Integer unInteger = new Integer(100); int d = unInteger.intValue(); La classe Integer est un wrapper. Elle fournit également des méthodes statiques.

La classe Vector Une liste indexée Comme un tableau d’objets mais de taille variable Accepte des instances de n’importe quel type elements() permet retourner une Enumeration, une interface qui permet de passer en revue tous les éléments de n’importe quelle collection d’objets.

La classe Vector Remplir un Vector Vector vect = new Vector(); for (int i=0; i>10; i++) vect.addElement("Element de type String"+i); Parcourir un Vector Avec une Enumeration Avec elementAt() for (int i=0; i>10; i++) System.out.println(vect.elementAt(i)); Enumeration enum = vect.elements(); While (enum.hasMoreElement()) System.out.println(enum.nextElement());

Java Packages Documentation Fichiers jar

Packages Un package = regroupement cohérent de classes. import java.util.*;//invoque toutes les classes du package import java.util.ArrayList; //uniquement 1 classe Pour constituer un package : L'utilisation se fait soit via import soit ainsi : Mettre toutes les classes d'un même package dans un même repertoire package mypackage; public class MyClass{...} mypackage.MyClass m = new mypackage.MyClass();

Packages package Cours2; public class HelloWorld { public static void main (String[] args) { System.out.println( "Bonjour !" ); } //main } //class Pour mettre une classe dans un paquet, il suffit de rajouter le mot clef “package” avant la déclaration de la classe, avant les import et le commentaire de classe.

Documentation Les commentaires dans le fichier.java doivent commencer par /**, finir par */ et chaque ligne doit commencer par une *.Il existe des étiquettes de champs telles que le nom d'auteur qui sont utilisées pour générer une API. Exemple : import java.util.* ; //Import ici, avant le commentaire javadoc /** John Doe 1.4 */ public class Bonjour2{...

Balises pour les commentaires de méthodes: /** *Ceci est un commentaire javadoc. */