Le langage Java

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
    • Le typage
    • 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
    • Exercices
  • 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 ,
    • Exercice
  • Les structures de contrôle
    • if-else
    • return
    • while
    • do-while
    • for
    • for amélioré
    • break-continue
    • libellé
    • switch
    • Exercices
  • 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
  • Héritage et composition
    • 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é
  • Les classes abstraites
    • Déclarer une classe abstraite
    • Déclarer une méthode abstraite
  • 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 é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 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 dates
    • Date : la classe historique
    • Calendar
    • L’API Date/Time
      • Les Dates
      • La classe Instant
      • Période et durée
    • Formatage des dates
    • Lecture des dates
    • Exercice
  • Programmation fonctionnelle et lambdas
    • Les fonctions anonymes : les lambdas
      • Syntaxe des lambdas
      • Usage des lambdas
      • Lambda et closure
      • Les interfaces fonctionnelles
      • L’opérateur :: de référence de méthode
    • La classe Optional
  • 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
  • Les modules
    • Des modules pour améliorer la sécurité
    • Des modules pour plus de modularité
    • Le descripteur de module (module-info.java)
      • Dépendance à d’autres modules
      • Exposer des packages
      • Utiliser un service
      • Fournir un service
    • Le module anonyme
    • La notion de module path
Le langage Java
D'autres formations sont sur https://gayerie.dev
  • »
  • Le langage Java
Suivant

Le langage Java¶

Ce module va vous permettre d’acquérir tous les fondamentaux pour bien développer des applications en Java. Nous verrons les principes de la programmation objet en Java et également les éléments de programmation fonctionnelle.

Le langage Java

  • Introduction
  • Installation
  • Compilation & exécution
  • La structure fondamentale du langage
  • Une première classe
  • Les types primitifs
  • Les opérateurs
  • Les structures de contrôle
  • Les tableaux
  • Attributs & méthodes
  • Cycle de vie d’un objet
  • Les packages
  • Héritage et composition
  • Le polymorphisme
  • Les classes abstraites
  • La classe Object
  • La classe String
  • Les exceptions
  • Les énumérations
  • Les interfaces
  • Méthodes et classes génériques
  • Les collections
  • Les entrées/sorties
  • Les dates
  • Programmation fonctionnelle et lambdas
  • Streams
  • Les classes internes
  • Les annotations
  • Les modules

Liens utiles

L’API Java

https://docs.oracle.com/en/java/javase/11/docs/api/

Documentation Java

https://docs.oracle.com/en/java/javase/11/

Suivant

Par David Gayerie - - https://gayerie.dev

Licence Creative Commons Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 France