Page de garde Classes de base du JDK Novembre 2000

Slides:



Advertisements
Présentations similaires
Cours n° 7 Standard Template Library II.
Advertisements

Transformation de documents XML
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Au programme du jour …. Un peu plus de structures de données
Sensibilisation à l’Algorithmique et structure de données
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.
Cours n° 8 Conception et Programmation à Objets
Approfondissement du langage
(Classes prédéfinies – API Java)
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
JAV - TD 6 Structures de données JAVA
Virtools Olivier Lamotte.
FLSI602 Génie Informatique et Réseaux
Classes locales classes définies à l'intérieur d'un bloc de code,
Structures collectives en Java
Structures de données linéaires
Programmation orientée objet
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
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.
Les collections d'objets
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
Outils de Programmation
Principes de programmation (suite)
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.
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Standard Template Library (STL)
1 Objectifs de ce cours (I21) Cours JAVA (I21) -Licence 1 Semestre 2 / Y.Laborde Résumé du cours précédent.
Structures de données IFT-2000
Langage Oriente Objet Cours 2.
FICHIERS : Définition : Algorithme général:
Structures de données IFT Abder Alikacem La classe vector Édition Septembre 2009 Département dinformatique et de génie logiciel.
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Rappels Java.
Introduction au paradigme orienté-objet (suite)
Présentation Structures de Données et TDA
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Chapitre 9 Les sous-programmes.
Types de données abstrait et mécanismes d'encapsulation
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Standard Template Library
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.
Structures de données IFT-2000
1212 Entrée et sortie de fichiers Objectifs À la fin de ce cours, vous serez capables de : • Lire à partir de la console • Écrire sur la console.
Chapitre 21 Collections Partie II Algorithmes  Algorithmes sur des List : sort binarySearch reverse shuffle fill copy  Algorithmes sur des Collections.
J201 (JOC) Java Avancé juin 2007 ~ Brigitte Groléas ~
Objectifs À la fin de ce cours, vous serez capables de :
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Cours 7 Classes locales Clonage Divers: tableaux.
Créer des packages.
Templates, Containers et STL Structures de données de base tableau, liste chaînée file, pile, arbres, hashtable collection, ensemble 2 caractéristiques.
Cours Les flux ou streams. Cours 162 Flux : objet possédant des méthodes capables de lire ou écrire des flots d’octets sur tout support (mémoire,
 Syntaxe du langage PHP
Tutorat en bio-informatique
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
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.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Les bases de l’algorithmique
Classes abstraites, interface Classe interne Classes enveloppes
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.
Introduction au langage C
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
Transcription de la présentation:

Page de garde Classes de base du JDK Novembre 2000

Présentation des classes de base Les classes de base Réification du langage : java.lang Réification des différents types de références : java.lang.ref "Réflectivité" (en fait introspection) : java.lang.reflect Mathématiques sur les grands nombres : java.math Entrées / sorties : java.io Classes utiles : java.util Classes graphiques : java.awt et javax.swing

java.lang \ Réification des types primitifs Réification des types primitifs Chaque type primitif du langage possède une classe associée dans le package java.lang java.lang.Boolean, java.lang.Character, java.lang.Integer, … Ces classes possèdent des constructeurs ou des méthodes effectuant les conversions Les classes dérivant de java.lang.Number : Définissent les bornes des plages de valeur ( MIN_VALUE et MAX_VALUE ) Permettent la conversion de chaînes de caractères en nombre ( parseXXX(…) ) Permettent la conversion inverse (en différentes bases pour les entiers) Les classes de flottants ( java.lang.Float et java.lang.Double ) définissent : La constante NaN (Not a Number) Les constantes NEGATIVE_INFINITY et POSITIVE_INFINITY Ainsi que les prédicats correspondants

java.lang \ Classes et interfaces "systèmes" Classes et interfaces "systèmes" Le package java.lang contient aussi les classes et interfaces "connues" du compilateur Ces classes sont traitées de manière spécifique par le compilateur java.lang.Object java.lang.String et java.lang.StringBuffer java.lang.Throwable, java.lang.Error et java.lang.Exception java.lang.Runnable et java.lang.Thread …

java.lang \ Les chaînes de caractères Les chaînes de caractères java.lang.String stocke un tableau fixe de caractères java.lang.StringBuffer stocke un ensemble mutable de caractères Ces classes proposent de nombreuses méthodes : De comparaison Dextraction de caractères De modification de la casse … Lorsque lon effectue une concaténation de chaînes à laide de lopérateur +, le système effectue de nombreuses conversion String StringBuffer … Pensez lorsque nécessaire à utiliser StringBuffer dans vos expressions !

java.lang.Math Cette classe donne accès à de nombreuses fonctions (méthodes statiques) mathématiques : Valeur absolue, arrondissement, troncature par défaut ou excès Maximum et minimum Valeurs aléatoires Logarithmes et exponentielles Conversions angulaires Fonctions trigonométriques … Constantes e et ( java.lang.Double )

java.math Le package java.math Contient deux classes permettant une arithmétique de précision arbitraire : java.math.BigInteger Jamais doverflow Méthodes pour les performances (décalages, négations, opérations logiques…) Congruence Test (grossier) de primalité java.math.BigDecimal Valeur entière "infinie", jusquà 32 chiffres après la décimale

java.util Le package java.util Contient des abstractions et implémentations de : Collections génériques Calendriers Contient quelques interfaces / classes utiles : Itérateur Vecteur de bits Générateur de nombre pseudo-aléatoires Décomposition de chaînes en lexèmes Manipulation de ressources Aide à la localisation dapplications …

java.util \ Les Collections Les Collections Aussi appelées Containers : tableaux, vecteurs, hashtables, … Les interfaces appartiennent à deux hiérachies distinctes : Un Set est un ensemble dobjets distincts Une List est une séquence dobjets ordonnés Une Map associe des paires (clef, valeur), les clefs étant uniques

java.util \ Les Collections Les Collections Définissent des méthodes pour : Ajouter et supprimer des éléments ( add...(...), remove...(...) ) Tester la présence déléments ( contains...(...) ) Effectuer une itération sur les éléments ( iterator() ) … Limplémentation "complète" des méthodes nest pas obligatoire : lappel de méthodes non supportées déclenche java.lang.UnsupportedOperationException Les objets stockés dans une collection ordonnée ou un Set doivent implémenter linterface java.lang.Comparable Note : les collections par défaut ne sont pas thread-safe !

java.util \ Les Collections \ Implémentations Implémentations des Collections Hash Table Resizable Array Balanced TreeLinked List SetHashSetTreeSet ListArrayListLinkedList MapHashMapTreeMap A connaître également : java.util.Vector java.util.Stack java.util.BitSet

java.util \ Les Collections \ Wrappers Les Wrappers de Collections Méthodes statiques de la classes java.util.Collections Génèrent, à partir de collections, de nouvelles collections : Pour les rendre thread-safe public static List synchronizedList( List lstList ); public static Set synchronizedSet( Set stSet ); … Pour les rendre non-mutables (lecture-seule) public static List unmodifiableList( List lstList ); public static Set unmodifiableSet( Set stSet ); …

java.util \ Les Collections \ Wrappers Algorithmes Implémentations polymorphiques dans java.util.Collections : Valeur minimum/maximum Binary Search (sur List ) Reverse (sur List ) Shuffle (sur List ) Sort (sur List ) … Implémentations non polymorphiques dans java.util.Arrays (sur des tableaux) : Binary Search Sort …

java.util \ Les Itérateurs Les Itérateurs "Ancienne" version : java.util.Enumeration boolean hasMoreElements() Object nextElement() "Nouvelle" version : java.util.Iterator boolean hasNext() Object next() void remove()

java.util \ java.util.StringTokenizer java.util.StringTokenizer Décompose une chaîne de caractères en tokens, selon un ensemble de caratères séparateurs StringTokenizer( String str ) StringTokenizer( String str, String delim ) StringTokenizer( String str, String delim, boolean returnTokens ) Se comporte grossièrement comme un Enumerator : boolean hasMoreTokens() String nextToken() String nextToken( String delim ) Séparateurs par défaut : "\t\n\r\f"

java.io Les entrées/sorties Le package java.io contient de nombreuses classes permettant : Daccéder aux entrées des systèmes de fichiers accessibles Deffectuer des opérations entrées/sorties sur celles-ci

java.io.File Abstraction d'un chemin de fichier ou de répertoire Trois constructeurs d'objets java.io.File : File( String pathname ) File( String parent, String child ) File( File parent, String child ) Test d'existence de fichier : boolean exists() Création réelle de fichier : boolean createNewFile() Suppression, renommage : boolean delete(), void deleteOnExit() boolean renameTo( File )

java.io.File Création de répertoire : boolean mkdir(), boolean mkdirs() Prédicats de tests de type d'entrée : isDirectory(), isFile() canRead(), canWrite(), isHidden() Exhibe des méthodes pour énumérer les fichiers : static File[] listRoots() String[] list(), String[] list( FilenameFilter ) File[] listFiles(), File[] listFiles( FilenameFilter ), … …

java.io.File !!! Attention à la portabilité !!! N'utilisez ni /, ni \ dans les noms de chemins, utilisez : static String separator static char separatorChar N'utilisez ni ;, ni : pour séparer des chemins, utilisez : static String pathSeparator static char pathSeparatorChar

java.io \ Les streams Les streams Tous les accès aux données (fichier, socket, …) se font via des streams (flux, flot)

java.io \ Les streams Les streams Les flots de caractères (lecteurs) :

java.io \ Les streams Les streams Les flots de caractères (écrivains) :

java.io \ Les streams Les streams Les flots "d'octets" (lecteurs) :

java.io \ Les streams Les streams Les flots "d'octets" (écrivains) :

java.io \ Le StreamTokenizer java.io.StreamTokenizer La version Stream de java.util.StringTokenizer …