Formation Java, les fondamentaux
Objectifs de la formation Java
Ce cours sur java 8 est destiné à acquérir les fondamentaux du langage Java. Elle répond à plusieurs objectif : donner une vision claire des différentes technologies Java et de leur domaine d'application, rendre opérationnels et autonomes les stagiaires qui démarreraient un premier projet Java et préparer aux certifications «Oracle Certified Associate, Java SE 7 Programmer» (1Z0-803) et «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
A 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 application
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
ATELIERS
Installation du JDK 8 et du JRE 8
Outils de développement
Utilisation du compilateur du JDK
Prise en main d’Eclipse
Debugging
ATELIERS
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, switch, boucles
Conversions de type, tableaux
ATELIERS
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
ATELIERS
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’exception
Exceptions contrôlées et non-contrôlées
Mécanisme try-catch, rôle de finally, try-with-ressources
Propagation d’exceptions
ATELIERS
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
ATELIERS
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
ATELIERS
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
ATELIERS
Ecriture/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
ATELIERS
Saisie de dates, affichage en français, calculs
Introduction aux expressions Lambda
Classes internes anonymes, expressions lambdas
Interfaces java 8
Interfaces fonctionnelles
ATELIERS
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
ATELIERS
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