JAVA, les fondamentaux de la programmation - F28026

Objectifs

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.

Programme

Chapitre 1 : 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.

Chapitre 2 : LE DEVELOPPEMENT 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
Chapitre 3 : 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

Chapitre 4 : 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

Chapitre 5 : 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

Chapitre 6 : 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

Chapitre 7 : 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)
Chapitre 8 : Les entrees/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
Chapitre 9 : 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.

Chapitre 10 : 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

Chapitre 11 : 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

Recherches

Tout le site Le catalogue

Liens directs