L'essentiel de la programmation objet avec Java

  Découvrez les fondamentaux de la programmation Java en 5 jours

Ce cours a été conçu pour les personnes qui débutent avec le langage Java. Vous découvrirez en détail les techniques de programmation orientée objet, ainsi que les APIs essentielles qui vous permettront de démarrer avec Java.

Pour une étude plus approfondie du langage, nous vous suggérons la série de cours "Maîtriser la programmation objet avec Java" qui offre plus de contenu et accorde une part plus importante aux travaux pratiques.

  Objectifs pédagogiques

- Maîtriser la syntaxe et les APIs essentielles du langage Java
- Comprendre les concepts de base de la programmation orientée objet
- Savoir appliquer la programmation orientée objet au langage Java
- Savoir utiliser Eclipse ou IntelliJ pour développer Java

   Participants

Développeurs, chefs de projet

  Prérequis

Connaissances de base en programmation

   Travaux pratiques

Après quelques exercices de base pour mettre en œuvre les premiers éléments de syntaxe Java, les participants bâtiront une mini-application au fil des chapitres. Cette application sera structurée suivant les principes des architectures multi-couches. Une base de données sera fournie et l'interface utilisateur sera exécutée dans un terminal. Les travaux pratiques sont réalisés avec Eclipse ou IntelliJ.

 Programme

Présentation de la plateforme Java

Caractéristiques du langage

Processus de développement de la plateforme

Panorama des principales éditions et distributions

Principe de la machine virtuelle Java (JVM)

Gestion de la mémoire et principe du garbage collector

Java Runtime Environment (JRE) et Java Development Kit (JDK)

Anatomie d'un fichier source, compilation et exécution d'un programme

Syntaxe de base du langage Java

Écrire une classe "main" pour lancer un programme

Déclarer des variables, les règles de nommage associées, le mot-clé "var"

Utiliser les types primitifs et les chaînes de caractères

Les instructions conditionnelles "if..else" et "switch"

Expressions switch avec l'opérateur flèche

Répéter une action avec les boucles "for", "while" et "do..while"

Utiliser les opérateurs conditionnels et les opérateurs de comparaison

Commenter le code et générer une documentation HTML

Notion d'annotation, cas de @Deprecated et @SuppressWarning

Notions de classe et d'objet avec Java

Introduction à la conception objet, notions de classes et d'instance

Utiliser l'opérateur "new" pour produire des objets

Définir des champs d'instance et différences avec les variables locales

Anatomie d'une méthode : arguments, type de retour, mots-clés "return" et "void"

Principe de la surcharge des méthodes (overloading)

Passer des paramètres variables à une méthode avec l"opérateur "..."

Rôle des constructeurs dans le processus d'instanciation

Utiliser le mot-clé "this" pour référencer une instance

Le mot-clé "static" pour déclarer des champs et des méthodes de classe

Utiliser le mot-clé "final" avec une variable, cas particulier des constantes

Ensemble fini de constantes avec les types énumérés

Stocker des éléments dans un tableau, initialisation, accès aux éléments

Parcourir un tableau avec les boucles "for" et "for each"

Définir des associations entre les classes (one-to-one, many-to-one, one-to-many)

Organisation des classes et principe d'encapsulation

Utiliser les packages pour organiser les classes

La clause "import" et sa relation avec les packages

Comprendre le principe d'encapsulation

Notion de visibilité pour contrôler l'accès aux membres d'une classe

Rôle des méthodes getter et setter vis-à-vis de l'encapsulation

Notion de propriété Java suivant la norme JavaBean

Écrire une classe simplifiée avec la syntaxe record

Accéder aux méthodes de classe avec les imports statiques

Abstraction, héritage et polymorphisme

Comprendre la technique d'héritage entre classes

Définition et mise en oeuvre du polymorphisme

Principe de la redéfinition des méthodes (overriding)

Intérêt de l'annotation @Override avec une redéfinition

La classe Object, redéfinir les méthodes toString et equals

Transtypage (up et down casting), mot-clé "instance of" et pattern matching

Le mot-clé "final" appliqué aux méthodes et aux classes

Redéfinition des constructeurs, cas particulier du constructeur vide

Utiliser le mot-clé "super" lors d'une redéfinition

Comprendre les notions de classe abstraite et d'interface

Méthodes "default", "static" et "private" dans une interface

Définir des classes internes et cas d'usage

Notions de classes et interfaces scellées, le mot-clé "sealed"

Mécanisme d'exception pour gérer les erreurs

Présentation de la notion d'exception en Java

Description de quelques exceptions classiques du JDK

Comprendre le mécanisme de propagation des exceptions

Traiter une exception avec un bloc "try..catch"

Utiliser un bloc "finally" lors du traitement d'une exception

Rôle des clauses "throw" et "throws" dans la propagation des exceptions

Les exceptions contrôlées et les exceptions non-contrôlées

Exceptions chaînées et analyse de la stacktrace

Créer des classes d'exception personnalisées

Objets AutoCloseable et "try-with-resources"

Classpath et packaging du code compilé

Notion de classpath pour la compilation et l'exécution

Préparer le déploiement avec un fichier JAR

Cas particulier des fichiers JAR exécutable

Ajouter un fichier JAR dans le classpath

Quelques classes essentielles de la bibliothèque standard

Chaînes de caractères, les classes String et StringBuilder

Méthodes et classes de formatage, utiliser un bloc de texte

Les classes wrappers, mécanismes de boxing et unboxing

Opérations mathématiques avec la classe Math

Données temporelles, la classe Date et l'API Java Time

Méthodes utilitaires des classes System, Arrays et Objects

Ensembles de données avec les collections

Limitation des tableaux, apport des collections

Les types de base Collection, List, Set et Map

Principe de la généricité appliquée aux collections

Parcourir une collection avec un itérateur et une boucle "for each"

Rôle et implémentation de la méthode hashCode()

Trier une collection à l'aide des interfaces Comparable et Comparator

Expressions lambda et références de méthode

Notion d'interface fonctionnelle, l'annotation @FunctionalInterface

Anatomie d'une expression lambda, l'opérateur flèche

Interfaces fonctionnelles standards Predicate, Consumer, Supplier et Function

Implémenter un Comparator avec une lambda

Utiliser une référence de méthode à la place d'une lambda

Flux de données avec l'API Stream

Principe des streams pour traiter les données en flux

Obtenir un stream à partir d'une source de données

Traitement avec les opérations intermédiaires et terminales

Les principales opérations filter, map, findFirst, forEach

Récupérer le résultat avec les classes Optional et Collector

Accéder aux bases de données relationnelles avec JDBC

Le modèle de programmation de l'API JDBC

Se connecter à une base de données

Exécuter des requêtes SQL et exploiter les résultats

Mise en oeuvre de la gestion transactionnelle

Gérer les exceptions générées par l'API

Référence
DJ110
Durée
5 jours - 35 heures
Lieu
En distanciel
2250 € HT

Prise en charge OPCO possible

Remise à partir de 2 inscriptions, tarif session garantie : voir notre page tarifs

Prochaines sessions

  • 04/03/2024
  • 08/04/2024
  • 27/05/2024
  • 24/06/2024
  • 22/07/2024

Nous pouvons planifier d'autres sessions en fonction des demandes.

Dates, inscription : nous contacter
Référence
DJ110
Durée
5 jours - 35 heures
Lieu
Dans vos locaux ou à distance
6750 € HT

Prise en charge OPCO possible

Jusqu'à 8 participants. Voir notre page tarifs pour plus de précisions.

Formation sur mesure : nous contacter

Notre site web utilise des cookies afin de vous offrir une meilleure expérience utilisateur. En savoir plus