Le langage Java
1.0

Le langage Java

  • Introduction
    • L’environnement
    • Oracle JDK et Open JDK
    • Un bref historique des versions
  • Installation
    • Configuration d’Eclipse
  • Compilation & exécution
    • Un premier programme
    • La compilation
    • L’exécution
    • La liaison dynamique
    • Le classpath
    • Bibliothèques Java : les fichiers JAR
    • Création d’un projet dans Eclipse
    • Exercice
  • La structure fondamentale du langage
    • Les instructions
    • Les blocs de code
    • Les commentaires
    • Le formatage du code
    • Les conventions de nommage
    • Les mots-clés
  • Une première classe
    • Déclarer une classe
    • Anatomie d’une classe
    • Ajouter des méthodes
    • La méthode main
    • Exécuter le programme en ligne de commandes
    • Exécuter le programme depuis Eclipse
  • Les types primitifs
    • Le type booléen : boolean
    • Le type caractère : char
    • Les types entiers : byte, short, int, long
    • Les types à virgule flottante : float, double
    • Les classes enveloppes
    • L’autoboxing
  • Les opérateurs
    • L’opérateur d’affectation
    • Les opérateurs arithmétiques
    • Les opérateurs arithmétiques unaires
    • L’opérateur de concaténation de chaînes
    • Les opérateurs relationnels
    • Les opérateurs logiques
    • L’opérateur ternaire
    • Les opérateurs bitwise
    • Les opérateurs de décalage
    • Le transtypage (cast)
    • Opérateur et assignation
    • L’opérateur .
    • L’opérateur ,
  • Les structures de contrôle
    • if-else
    • return
    • while
    • do-while
    • for
    • for amélioré
    • break-continue
    • libellé
    • switch
    • Exercice
  • Les tableaux
    • Initialisation
    • Création avec new
    • Accès aux éléments d’un tableau
    • Tableau multi-dimensionnel
    • Conversion en chaîne de caractères
    • Égalité de deux tableaux
    • Tri & recherche
    • Copie d’un tableau
    • Typage d’un tableau
    • Conversion d’un tableau en liste
  • Attributs & méthodes
    • Les attributs
      • La portée
      • L’initialisation
      • attributs finaux
      • Attributs de classe
      • Attributs de classe finaux
    • Les méthodes
      • La portée
      • La valeur de retour
      • Les paramètres
      • Paramètre final
      • Les variables
      • Méthodes de classe
    • Surcharge de méthode : overloading
    • Portée des noms et this
    • Principe d’encapsulation
    • Exercice
  • Cycle de vie d’un objet
    • Le constructeur
      • Paramètres de constructeur
      • Valeur par défaut des attributs
      • Constructeur par défaut
      • Constructeur privé
      • Appel d’un constructeur dans un constructeur
      • Appel d’une méthode dans un constructeur
    • Injection de dépendances par le constructeur
    • Le bloc d’initialisation
    • Le bloc d’initialisation de classe
    • Exercice
    • Mémoire heap et stack
    • Le ramasse-miettes
    • La méthode finalize
  • Les packages
    • Déclaration d’un package
    • Sous package
    • Nom d’un package
    • Nom complet d’une classe
    • Import de noms
    • La portée de niveau package
    • Le fichier package-info.java
  • Les relations entre objets
    • L’héritage (is-a)
    • Héritage et constructeur
    • Héritage simple : Object
    • Héritage et affectation
    • Le mot-clé instanceof
    • La portée protected
    • Héritage des méthodes et attributs de classe
    • Héritage et final
    • La composition (has-a)
  • Le polymorphisme
    • Principe du polymorphisme
    • Une exception : les méthodes privées
    • Redéfinition et signature de méthode
    • Le mot-clé super
    • L’annotation @Override
    • Les méthodes de classe
    • Méthode finale
    • Constructeur et polymorphisme
    • Masquage des attributs par héritage
    • Le principe du ouvert/fermé
  • La classe Object
    • La méthode equals
    • La méthode hashCode
    • La méthode toString
    • La méthode finalize
    • La méthode clone
    • La méthode getClass
    • Les méthodes de concurrence
  • La classe String
    • String et tableau de caractères
    • Quelques méthodes utilitaires
    • Construction d’une instance de String
    • Immutabilité des chaînes de caractères
    • La classe StringBuilder
    • Formatage de texte
    • Les expressions régulières
  • Les exceptions
    • Qu’est-ce qu’une exception ?
    • Signaler une exception
    • Traiter une exception
    • Propagation d’une exception
    • Exceptions et polymorphisme
    • Le bloc finally
    • Le try-with-resources
    • Hiérarchie applicative d’exception
    • Exception cause
    • Les erreurs et les exceptions runtime
    • Choix entre checked et unchecked
  • Les classes abstraites
    • Déclarer une classe abstraite
    • Déclarer une méthode abstraite
  • Les énumérations
    • Les méthodes d’une énumération
    • Égalité entre énumérations
    • Support de switch
    • Génération d’une énumération
    • Ajout de méthodes et d’attributs
    • Ajout de constructeurs
  • Les dates
    • Date : la classe historique
    • Calendar
    • L’API Date/Time
      • Les Dates
      • La classe Instant
      • Période et durée
    • Formatage des dates
  • Les interfaces
    • Déclaration d’une interface
    • Implémentation d’une interface
    • Attributs et méthodes statiques
    • Héritage d’interface
    • Les interfaces marqueurs
    • Implémentation par défaut
    • La ségrégation d’interface
    • L’inversion de dépendance
  • Méthodes et classes génériques
    • L’exemple de la classe ArrayList
    • Création et assignation d’une classe générique
    • Notation en diamant
    • Substitution et type générique
    • Écrire une méthode générique
    • Écrire une classe générique
    • Limitations
  • Les collections
    • Les listes
      • La classe ArrayList
      • La classe LinkedList
      • La classe ArrayDeque
      • La classe PriorityQueue
      • Les classes Vector et Stack
      • Les interfaces pour les listes
    • Les ensembles (set)
      • La classe TreeSet
      • La classe HashSet
      • La classe LinkedHashSet
      • Les interfaces pour les ensembles
    • Copie d’une collection dans un tableau
    • Les tableaux associatifs (maps)
      • La classe TreeMap
      • La classe HashMap
      • La classe LinkedHashMap
      • Les classes Dictionary et Hashtable
      • Les interfaces pour les tableaux associatifs
    • La classe outil Collections
  • Les entrées/sorties
    • InputStream et classes concrètes
    • OutputStream et classes concrètes
    • Flux orientés caractères
    • Reader et classes concrètes
    • Writer et classes concrètes
    • Les décorateurs de flux
    • La classe Scanner
    • Fichiers et chemins
    • Accès au réseau
    • La sérialisation d’objets
      • Donnée transient
      • Identifiant de version de sérialisation
  • Les lambdas
    • Syntaxe des lambdas
    • Lambda et closure
    • Les interfaces fonctionnelles
    • L’opérateur :: de référence de méthode
  • Streams
    • Création d’un stream
    • La réduction
    • La collecte
    • Le filtrage
    • Le mapping
    • Le parallélisme
    • Exercice
  • Les classes internes
    • Les classes internes static
    • Les classes internes
    • Les classes anonymes
    • Accès aux éléments de l’objet englobant
    • Classe interne à une méthode
    • Interface et énumération
    • Plusieurs classes dans un même fichier
  • Les annotations
    • Utilisation des annotations
    • Déclaration d’une annotation
    • Rétention d’une annotation
    • Utilisation des annotations par introspection
    • Exercice
  • Accès aux bases de données : JDBC
    • Préambule : try-with-resources
    • Le pilote de base de données
    • Création d’une connexion
    • L’URL de connexion et la classe des pilotes
    • Les requêtes SQL (Statement)
    • Le Statement
    • Le ResultSet
    • Le PreparedStatement
      • L’injection SQL
    • Le CallableStatement
    • La transaction

Java Swing

  • Swing : les interfaces graphiques
    • Une première application
    • Les principaux composants
    • Les layouts
      • Le BoxLayout
      • Le GridBagLayout
      • Le SpringLayout
    • Le look & feel
    • Exercice
  • Swing : les interactions
    • Les listeners
    • Les menus
    • L’interface Action
    • Les boites de dialogue
    • Les boites de dialogues avancées
      • Boite de dialogue des fichiers
      • Boite de sélection de couleur
    • Exercice
  • Swing : notions avancées
    • Création de composant
    • Exercice
    • Principe du MVC
    • La classe JTable
Le langage Java
  • Docs »
  • Recherche


© Copyright David Gayerie - david.gayerie.epsi@mailoo.org - CC-BY-SA.