PROGRAMME DE
FORMATION EN
JAVA - 2024
@ANDREAS-MOUZONG
INTRODUCTION A JAVA
• Introduction
• Présentation du formateur
• Conseils sur les bonnes pratiques d’apprentissage
• Définition de Java
• Préalables
• Domaines d’application de Java
• Historique de Java
ENVIRONNEMENT DE TRAVAIL
• Les systèmes d’exploitations (généralités)
• Le terminal / Ligne de commandes
• JDK, Maven
• Les Environnement de Développement Intégrés (EDI/IDE)
• L’IDE Intellij IDEA
• Git
• Les dépôts GitHub
• Le Serveur Discord
• Commandes de Git de bases
DÉMARRAGE DE LA FORMATION
• Création d’un projet avec Intellij IDEA
• Premier programme Java
• Exécution sur terminal
• Gestion des erreurs de compilation
• La Java Virtual Machine et le ByteCode
• Structure d’un programme Java de base
• Raccourcis clavier
LES BASES DU JAVA
• Mots réservés • Les tableaux
• Commentaires • Les tableaux null
• Les variables • Types de données primitifs
• Operateurs arithmétiques
• Incrément et décrément
• Operateurs de comparaison
• Nomenclature des variables
• Les String et leurs Documentations
• Objets et références
LES BOUCLES
• La boucle for (condition) { … } classique
• La boucle for (condition) { … } améliorée
• Les boucles et tableaux
• La boucle while (condition) { … }
• La boucle do { … } while (condition)
LES STRUCTURES CONDITIONNELLES
• Le if
• Le if else
• Le if else if
• Operateurs logiques AND et OR
• L’expression switch
LES PACKAGES EN JAVA
• Qu’est-ce qu’un package ?
• Créations des packages
• Navigations dans le packages
• Les imports classiques
• Optimisation des imports
LES ACCESSEURS
• Definition des accesseurs
• Public
• Private
• Default
• Le mot cle static
• Bonne pratiques des accesseurs
LES METHODES EN JAVA
• Introduction
• Methodes simples
• Paramètres et arguments
• Retour de méthodes
• Nomenclature des méthodes
NOTIONS AVANCÉES DE JAVA
• Les arguments de programmes
• Les mot clefs break et continue
• Le mot clef final
• Les énumérations
• Changements de type de données (implicite et explicite)
• Périmètres des variables (globale, locale)
• La class wrapper
• Le BigDecimal
LES STRINGS EN JAVA
• Stockage des string en mémoire
• Immuabilité des strings
• L’objet string et le string classique
• Le comparateur ==
• Le comparateur .equals
• Les méthodes static dans les string
LE TYPE DATE EN JAVA
• localDateTime
• localDateTime et localTime
• Les ZoneIds
• Les classes dates génériques
CONVERSATION AVEC L’UTILISATEUR
• La classe Scanner
• NextInt
• NextLine
• Autre methodes de la classe Scanner
GESTION DES EXCEPTIONS
• Définition des exceptions • Le bloc Try Catch
• Try Catch multiples • La classe Exception
• Le mot clef finally
• Hiérarchie des exceptions
• Check et unchecked
• Throw et throws
• Quand utiliser check et unchecked
• Exception personnalisees
GESTION DES FICHERS EN JAVA
• Création des fichiers
• Ecritures dans les fichiers
• Lecture des fichiers
LES CLASSES ET OBJETS EN JAVA
• Définition • Création d’une classe
• Les getter et setter • Le constructeur
• Constructeur par défaut • La méthode ToString
• Le mot clef this
• La surcharge des méthodes (@Override)
• Comparaison des objets
• La méthode .equals
• Les POJO et le Bean
LE MOT CLE STATIC
• Definition de static
• Quand utiliser static ?
• Bloc d’initialisation static
• Les imports static
PROJET MI-PARCOURS
• Création d’une application CLI qui effectue des opérations CRUD (en groupe
de 03)
–Créer un repo sur GitHub
–Créer une branche pour chaque membre (feature-nom-membre)
–Mettre en œuvre les bonnes pratiques de collaboration Git
–Mettre en œuvres les bonnes pratiques de documentation et nomenclatures
– Inviter l’admin sur le repo.
• Demo
POPRGRAMMATION ORIENTEE OBJET
EN JAVA
• Encapsulation • Les methodes abstraites
• Heritage • Les classes abstraites
• Le mot cle super et protected • Interfaces
• Heritage simple et multiple • Injection des dependences
• Abstraction • Les principes SOLID
• Optionals
LES STRUCTURES DE DONNÉES EN JAVA
• Les Lists • Les tableaux à 2D
• Les ArrayList • Les Stack
• Les Queues • Les Sets
• Les Maps
• Le HashCode
LA PROGRAMMATION FONCTIONNELLE
EN JAVA
• Les Generics
• Les Streams
• Fonctionnement des Streams
• Programmation déclarative
• Programmation impérative
LA PROGRAMMATION PARALLÈLE EN
JAVA (MULTITHREADING)
• La classe Thread et Runnable
• Le problème du multithreading
• La synchronisation
• Le thread pool
TESTS EN JAVA
• Test unitaires
• JUnit
• Installation
• Assertions
• Ecritures du premier test
FRAMEWORK EN JAVA (SPRING)
• Springboot
• Demarrage d’un projet avec springboot
• Les API
• Les methodes HTTP
• Les statusCode, context d’application et les Beans
• Structuration du projet springboot
• Gestion des erreurs
• Connexion à la base de données, Spring Data JPA
PROJET FIN-DE-PARCOURS
● Conception et réalisation d’une API de gestion [*******] avec le Framework
SpringBoot qui effectue des opérations CRUD sur des (en groupe de 03)
- Créer un repo sur GitHub
- Créer une branche pour chaque membre (feature-nom-membre)
- Mettre en œuvre les bonnes pratiques de collaboration Git
- Mettre en œuvre la manipulation des fichiers pour stocker les données.
- Mettre en œuvres les bonnes pratiques de documentation et
nomenclatures – Inviter l’admin sur le repo.
●Demo