Formation Java - les fondamentaux
Besoin d’adapter cette formation à vos besoins ?
N’hésitez pas à nous contacter afin d’obtenir un devis sur mesure !
Formation créée le 06/07/2023. Dernière mise à jour le 04/11/2024.
Version du programme : 1
Programme de la formation Version PDF
En suivant cette formation, vous serez en capacité de réaliser des applications orientées objets avec le langage JAVA. Enrichir ses pages Web en y intégrant des Applets JAVA. Développer des applications indépendantes de toute plateforme.
Objectifs de la formation
- A l’issue de la formation, le stagiaire sera capable d’utiliser le langage Java et les principales librairies et technologies associées pour créer une application.
- Maîtriser la syntaxe du langage Java.
- Connaitre les principales APIs du langage Java.
- Maîtriser un environnement de développement intégré pour programmer en Java .
- Savoir utiliser les principales librairies standards Java (entrées/sorties, collections, accès aux données, interfaces graphiques...).
- Appréhender les nouveautés Java.
Profil des bénéficiaires
- Développeurs, chargés de développement d’applications informatiques, chefs de projets proches du développement…
- Connaître les principes de la programmation orientée objet et disposer d’une expérience sur un langage de programmation dans le développement d’applications.
Contenu de la formation
-
Présentation de java
- Introduction
- Historique de Java, positionnement du langage, licence, notion de LTS.
- Les caractéristiques de Java, retour sur les versions majeures 5, 8, 11 et 17
- La programmation objet, portabilité, machine virtuelle, garbage collector
- Installation et prise en main
- Les outils du JDK : compilateur (javac), JRE (java), les librairies de base, documentation du code (javadoc).
- Compilation, déploiement, exécution d’un programme Java en ligne de commande.
-
Le développement avec Java
- Structure des programmes Java : Module, Package, Classe, Méthode
- Les mots réservés du Java 17 (record, sealed, …)
- Types primitifs et opérateurs.
- Notion de scope/bloc
- Les variables (déclaration, affectation)
- Invariants (String, Class, Wrappers)
- Encapsulation et visibilité, les 4 niveaux en Java
- Java.lang.Object : La Superclass et ses méthodes
- Les tableaux.
- Structures de contrôle. (if, switch, for, while, do while)
- Evolutions entre les versions 5, 8, 13 et 14 du Java
- Types énumérés (enum).
- Le boxing et unboxing
-
Les outils de développement Eclipse et InteliJ
- Historique : du Visual Studio d’IBM à Eclipse en terminant sur IntelIJ
- Comparaison des deux chalengeurs
- Les objectifs et les principes d’un outil de développement
- Installations et mise en place
- Notions fondamentales : (Workbench, Vues, Perspectives)
- Création d’un projet Java, d’un package, d’une classe.
- L’éditeur de code Java, compilation, réorganisation du code (refactoring).
- Génération du code (get/set, toString, equals, …)
- Complétion du code (ctrl+espace)
- Compiler, sauvegarder, Rebuilder, déboguer un projet
- Objectif et importance des plugins
- Focus sur l’importance du respect des normes et de la qualité du code
-
Les outils de build Maven/Gradle
- Objectif d’un outil de build
- Présentation de Maven et Gradle
- Mise en place sur les projets
- Focus sur la gestion des dépendances via le fichier pom.xml et build.gradle
-
Les APIs incontournables
- Les chaînes de caractères
- L’objet System
- Les dates et calendriers
- Les collections et dictionnaires (List, Map, Set).
- Les classes utilitaires Collections, Arrays, Math, Random
- Retour sur les wrappers ou comment convertir une chaine en chiffre et inversement
- Utilisation du log à la place de System.out
-
L’acces aux SGBD via JDBC
- Architecture JDBC
- Les pilotes JDBC de type 1, 2, 3 et 4
- Classes et interfaces de l’API JDBC
- Les métas données
- Focus sur les problématiques de sécurités
-
La base des threads
- Classes et interfaces principales (Thread et Runnable)
- Utilisation du mot clef synchronized
- Méthodes wait et notify
- Introduction aux APIs supérieures (Executor, Callable)
-
Les entrées/sorties
- Rappel des différences entre binaire et caractère
- Classes et interfaces principales
- L’usage des méthodes printf
- Introductions à l’API NIO (Files et Paths)
- Focus sur les bonnes pratiques
-
Les lambda expressions
- Les inner classes anonymes
- Les aspects syntaxiques (déclaration, implémentation, passage de paramètres, portée des variables…).
- Le concept de “foncteur” à travers les interfaces “fonctionnelles” et le package java.util.function.
- Utiliser les lambda-expressions pour manipuler les collections.
-
Les streams
- Objectif de l’approche par Stream
- Le pipeline d’opérations d’un Stream
- Les opérations intermédiaires et terminales
- Les Collectors
- Le traitement des opérations en parallèle
- Les Streams infinis
- Recommandations sur l’utilisation de l’API Stream
-
Introduction aux tests unitaires en Junit
- Objectif des tests unitaires
- Historique des 3 versions de Junit (v3, 4 5)
- Annotations principales (Junit 5)
- Les Assertions et Assumptions
- La gestion des exceptions (Error/Failure)
- Définition du covrage et comment l’obtenir via son IDE
Votre formateur est un consultant et architecte logiciel avec plus de 10 d'expériences pédagogiques et techniques.
- Feuille de présence signée en demi-journée, Évaluation des acquis tout au long de la formation, Questionnaire de satisfaction, Attestation de stage à chaque apprenant.
- Moyens pédagogiques : Réflexion de groupe et apports théoriques du formateur, Travail d'échange avec les participants sous forme de réunion-discussion, Utilisation de cas concrets issus de l'expérience professionnelle, Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques, Remise d'un support de cours.
- Moyens techniques en Présentiel : Accueil des stagiaires dans une salle dédiée à la formation, équipée d'ordinateurs, d'un vidéo projecteur d'un tableau blanc et de paperboard.
- Moyens techniques en Distanciel : A l'aide du logiciel Teams, un micro et une caméra pour l'apprenant, Suivez une formation en temps réel et entièrement à distance. Lors de la classe en ligne, les apprenants interagissent et communiquent entre eux et avec le formateur. Les formations en distanciel sont organisées en Inter-Entreprise comme en Intra-Entreprise. L'accès à l'environnement d'apprentissage (support de cours, labs) ainsi qu'aux preuves de suivi et d'assiduité (émargement, évaluation) est assuré.
Qualité et satisfaction
Modalités de certification
- Pas de certification