Organisme de Formation aux technologies et métiers de L'informatique
java

Formation Les fondamentaux de la programmation Java

Les bases de la programmation Java EE

Informations générales

OBJ300
5 jours (35h)
2 990 €HT
- Oracle Certified Associate - Java SE 8 Programmer I

Objectifs

Après ce cours, vous serez capable de :

  • maîtriser la syntaxe et les principales APIs du langage Java
  • consolider la compréhension des concepts orientés objet
  • programmer en Java en toute autonomie
  • maitriser les différentes APIs du langages (collections, I/O, JDBC)
  • manipuler des données à l'aide de JDBC et introduction à la persistance transparente avec JPA
  • appliquer le paradigme de la programmation fonctionnelle
  • tester et débuguer une application Java
  • découvrir les dernières évolutions de Java
  • maîtriser l’utilisation d’un IDE Java

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeur
  • Chef de projet
  • Chargé de développement d'applications informatiques

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Disposer d'une expérience d'un langage de programmation (C, C++, VB...)
  • Connaître les principes de la programmation orientée objet
  • Connaissance des concepts de bases de données relationnelles et du langage SQL
  • Avoir déjà développé et livré une application est un plus pour suivre cette formation

Programme de la formation

Le langage Java est au cœur des applications d'entreprise et a réussi à s'imposer comme l'un des langages orienté-objet les plus utilisé dans l'industrie. Cette formation a pour objectif d'introduire les différents concepts orientés-objets en Java et de permettre une initiation progressive aux différentes librairies et frameworks du langage. Les entrées-sorties, les collections, l'accès aux données, les exceptions, les nouveautés des dernières versions Java ainsi qu'un certain nombre de librairies utilitaires seront présentées.

Présentation de l'écosystème Java

  • Introduction à Java et à ses tiers techniques J2SE/J2E/J2ME et la JVM
  • Présentation de l'architecture d'une application respectant le parton d'architecture MVC et positionnement de Java
  • Présentation des composants techniques de Java (JDK) ainsi que des principales APIs
  • Les outils Java : JavaDoc, Jar et co
  • Panorama des principaux IDE : Eclipse, NetBeans et IntelliJ

L'IDE Eclipse

  • Notions de workspace, vues et perspectives
  • Présentation des différents wizard
  • Extensions avec Eclipse Marketplace
  • Les accès aux bases de données et outils serveurs dans Eclipse

Les bases du langage : la syntaxe

  • Déclaration de variables
  • Les constantes et les types énumérés
  • Les bonnes pratique d'écriture et de nommage
  • Les opérateurs
  • Instructions de contrôle
  • Boucles et itérations
  • Les tableaux
  • La classe String
  • La classe Scanner pour débuter avec les entrées/sorties
  • Notions de visibilité
  • Variable de classe vs. variable d'instance
  • Les blocs static

Les concepts orientés Objet en Java

  • La classe et ses attributs ainsi que les bonnes pratiques de nommage
  • Les accesseurs
  • Le mot-clé this
  • Méthodes (nombre d'arguments fixe et variable)
  • Les constructeurs avec et sans paramètres, notion de surcharge
  • Destructeur avec le garbage collector et la méthode finalize()
  • Les références
  • La méthode toString()
  • La méthode equals() pour vérifier l'égalité des objets
  • L'encapsulation, les imports de packages, les imports static
  • Les classes Wrappers
  • Unboxing et l'autoboxing
  • Le widening et narrowing (avec les notions de upcasting et downcasting)
  • Les génériques en Java
  • L'API Date
  • La classe Optional

Factorisation du code avec le concept d'héritage

  • Factorisation et spécialisation avec les mécanisme d'héritage
  • Bonnes pratiques et conseils méthodologiques pour identifier les hiérarchies d'héritage
  • Les mots clés : extends, instanceof, super, @override, protected
  • Redéfinition des méthodes dans les classes filles
  • Notion de polymorphisme
  • Les classes abstraites

Les interfaces

  • La notion de contrat et vision client vs. vision développeur
  • Implémentation de plusieurs interfaces par une classe
  • Les méthodes default, private et static depuis Java 9
  • Les mots-clés, l'héritage multiple entre plusieurs interfaces

Les collections en Java

  • Présenter l'API des collections en Java
  • Savoir choisir entre les différentes interfaces SET, LIST et MAP
  • Pratiquer les classes d'implémentations les plus connues
  • Redéfinition des méthodes equals() et hashCode()
  • Les interfaces comparable et Comparator pour les ensembles triés
  • Parcours des collections
  • La classe Stream et les filtres

Gestion des erreurs avec les exceptions

  • Qu'est-ce que qu'une exception ?
  • Les différentes exceptions en Java
  • Les blocs try/catch/finally
  • Gestion locale ou centralisée
  • Créer ses propres exceptions métier

Les entrées/sorties

  • Les entrées/sorties de fichiers
  • Gérer les différents formats de flux d'E/S
  • La sérialisation

Accès aux SGBDR avec JDBC

  • Présentation de la librairie JBDC
  • Connexion à une base de données, exécution d'une requête et itération sur les résultats avec les interfaces Connection, Statement et ResultSet
  • Requêtes paramétrées et requêtes stockées
  • Introduction à l'API JPA : objectifs et petite démo

Améliorer la qualité d'une application grâce aux tests unitaires

  • Créer des tests unitaires avec JUnit
  • Créer des suites de tests avec JUnit
  • Générer des rapports
  • Introduction à la notion de couverture de code et exemples de frameworks
  • Options avancées de la perspective Debug

Programmation fonctionnelle et Lambda Expressions

  • Introduction à la programmation fonctionnelle
  • Exemples de Lambda Expressions
  • Référentiels et méthodes

Introduction aux nouveautés Java depuis la version 9

  • Présenter les nouveautés les plus marquantes depuis la version 9
  • Donner des exemples pratiques ainsi que des petites démos
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Certification

Cette formation prépare au passage de la certification suivante.
N'hésitez pas à nous contacter pour toute information complémentaire.

Oracle Certified Associate - Java SE 8 Programmer I

Cette formation prépare au test 1Z0-808 et entre en jeu dans le cursus de certification Oracle Certified Associate - Java SE 8 Programmer I.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 07/03/2024