Formation Java, les fondamentaux
5 JoursDescription de la formation Java
Cette formation sur Java 8 est destinée à acquérir les fondamentaux du langage Java.
Elle répond à plusieurs objectifs : donner une vision claire des différentes technologies Java et de leurs domaines d’application, rendre opérationnels et autonomes les stagiaires qui démarreraient un premier projet Java et poser les bases de sa certification «Oracle Certified Associate, Java SE 7 Programmer» (1Z0-803) ou «Oracle Certified Associate, Java SE 8 Programmer» (1Z0-808). Dans ce sens, cette formation relativement intense alterne présentation théorique et ateliers pédagogiques.
Objectifs
Compétences visées – Objectif opérationnel :
L’objectif de cette formation est de savoir créer une application en utilisant le langage Java et les outils JDK et Eclipse.
Objectifs pédagogiques :
À l’issue de la formation Java Fondamentaux, vous serez capable de :
- Décrire les différentes technologies Java (Java EE, Java embarqué, etc.)
- Utiliser Eclipse et comprendre les apports d’un IDE (Integrated Development Environment)
- Maîtriser la syntaxe Java
- Comprendre et savoir appliquer les concepts objets au langage Java (classes, méthodes, encapsulation, héritage, constructeur, polymorphisme, classe abstraite, interfaces, relations entre classes, etc.)
- Maîtriser les opérations et les packages de base de Java (Collections, IO, String, Exception)
- Construire les exécutables et déployer des applications.
À qui s’adresse cette formation ?
Public :
Cette formation Java s’adresse aux développeurs et chefs de projets.
Prérequis :
Il est préférable de posséder des connaissances dans un autre langage objet afin de constituer un socle idéal pour tirer pleinement profit de cette formation.
Contenu du cours Java
Présentation de Java 8
Historique, caractéristiques, JDK, JRE, versions
Rôle de la machine virtuelle
Déclinaisons : Java SE, Java EE, Java ME
Applications
Travaux Pratiques :
Installation du JDK 8 et du JRE 8
Outils de développement
Utilisation du compilateur du JDK
Prise en main d’Eclipse
Debugging
Travaux Pratiques :
Création d’un programme simple avec un éditeur, compilation puis exécution avec les outils du JDK 8
Installation d’Eclipse et création d’un projet, exécution normale puis exécution à l’aide du debugger
Java, fondamentaux
Types primitifs, variables, opérateurs
Branchements conditionnels, switches, boucles
Conversions de types, tableaux
Travaux Pratiques :
Création de programmes simples avec mise en œuvre de variables de différents types
Calculs avec opérateurs, branchements conditionnels et boucles
Classes, objets, relations entre objets
Packages, classes, objets, constructeurs, méthodes, spécificateurs d’accès
Membres static, surcharge de méthodes
Les énumérations
Relations de composition, associations, héritage
Polymorphisme, classes abstraites, interfaces, conversions entre objets
La classe Object et ses méthodes
Les classes enveloppes
Travaux Pratiques :
Création d’une application avec classes en relation d’association, de composition, d’héritage
Mise en œuvre du polymorphisme
Les exceptions
Hiérarchie des classes d’exceptions
Exceptions contrôlées et non contrôlées
Mécanisme try-catch, rôle de finally, try-with-ressources
Propagation d’exceptions
Travaux Pratiques :
Mise en place d’une gestion d’exceptions avec try-catch-finally dans une application
Utilisation du try-with-resources
Propagation d’exceptions contrôlées et non-contrôlées
Les traitements sur les chaînes de caractères
Manipulation de chaînes avec String et StringBuilder, Scanner, StringTokenizer
Utilisation des expressions régulières avec Pattern et Matcher
Formatage des chaînes de caractères
Travaux Pratiques :
Utilisation de StringBuilder pour modifier une chaîne de caractères
Analyse d’exemples avec Pattern et Matcher
Les collections et la généricité
Choix d’un type de collection : List, Set, Queue, Map
Intérêt de la généricité
Redéfinition des méthodes equals et hashCode
Parcours de collections avec itérateur, boucle for-each
Classes ArrayList, HashSet, TreeSet, HashMap
Travaux Pratiques :
Remplacement d’un tableau Java par une collection ArrayList dans un projet
Les flux d’entrées-sorties
Flots d’octets, de caractères
Manipulation de fichiers en lecture/écriture
Manipulation de répertoires
Bufferisation des données
Sérialisation d’objets
Travaux Pratiques :
Écriture/lecture dans un fichier texte, puis un fichier binaire
Manipulation de répertoires avec File
Désérialisation d’objets présents dans un fichier
La nouvelle API pour la gestion du temps et des dates
API des packages java.time et java.time.format
Parsing et formatage des dates
Travaux Pratiques :
Saisie de dates, affichage en français, calculs
Introduction aux expressions Lambda
Classes internes anonymes, expressions lambdas
Interfaces Java 8
Interfaces fonctionnelles
Travaux Pratiques :
Remplacement de classes internes anonymes par des lambdas
Création de lambdas avec Consumer, Supplier et Predicate
Déploiement d’applications
Principe du déploiement
Création/utilisation de librairies jar
Création/utilisation de jar exécutables
Travaux Pratiques :
Création avec Eclipse d’une librairie pour utilisation dans un projet
Déploiement d’une application au moyen d’un fichier jar exécutable