- ACN_ATLAS
- Cours pratique
- Informatique
- Oracle
Formation Java, les fondamentaux
Le Développement Java

- Durée
- 5 jours
- Niveau
- Fondamental
- Modalités
- Présentiel / Distanciel
Description de la formation Java fondamentaux
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és dans le monde.
Cette formation a pour objectif de vous faire acquérir de solides bases sur le langage Java et de permettre une initiation progressive aux différentes APIs cœurs qui sont incontournables pour tout développeur Java car le langage en lui-même n’est pas une fin en soi.
Après avoir pris en main votre environnement de développement (Visual Studio Code ou IntelliJ) nous vous proposons une immersion progressive dans le langage en insistant plus sur les paradigmes objets déclinés dans le contexte de Java et en vous familiarisant avec sa syntaxe afin d’être rapidement autonome dans l’implémentation des concepts objets en Java (classes, attributs, méthodes, héritage, etc.). Vous découvrez ensuite comment vos programmes Java peuvent communiquer avec les bases de données (JDBC) et gère les flux de données en général (API Stream) que vous élargissez ensuite de façon progressive grâce à une application fil rouge aux autres API standard de Java.
Vous comprendrez également ce que les dernières évolutions de Java ont apporté aux développeurs en termes de logique objet et comment cela se traduit concrètement dans les projets.

Objectifs pédagogiques
Objectifs pédagogiques :
À l'issue de cette formation, vous aurez acquis les connaissances et compétences nécessaires pour :
- Connaître les concepts de base du langage Java et maîtriser sa syntaxe
- Utiliser les bibliothèques et API (collections, I/O, JDBC, Streams, …)
- Comprendre les concepts de la programmation orienté Objet en Java
- Créer une application en Java
- Gérer les erreurs de code et utiliser les outils de débogage
- Appréhender les nouveautés Java
Objectifs opérationnels
Savoir utiliser le langage Java et les technologues associées pour créer une application.
Programme
Contenu du cours, module par module
12 modules
- Historique, caractéristiques, Rôle de la machine virtuelle
- Déclinaisons : Java SE, Java EE, Java Embedded
- Les outils fournis par le JDK
- Les évolutions de Java : Java 8, Java11, Java17, Java21, Java 24
- Importance des LTS (Long Term Support)
- Licence Oracle et alternative avec OpenJDK
Travaux pratiques
Descriptif : Installation du JDK. Récupération de HelloWorld.java. Commandes de compilation
- Les apports d’un IDE : Compilation automatique, refactoring, automatisation de tâches
- Les IDEs Java les plus répandus : Eclipse, IntelliJ
- Prise en main InteliJ IDEA : Plugins Java, Types de projet Java, Projet et Modules
- Organisation des sources et des classes, Les modes de compilation
- Exécuter une application, Configuration des exécutions
- Debugging, Point d’arrêt, inspection
Travaux pratiques
Comprendre les spécificités d’un projet Java
Savoir débugger un programme Java
Descriptif : Création d’un projet Java, Récupération de HelloWorld.java. Visualisation des propriétés du projet, répertoire de compilation, Version JDK. Exécution, exécution en mode DEBUG, breakpoint
- Types primitifs, variables, opérateurs
- Branchements conditionnels, switches, boucles
- Conversions de types, tableaux
- Déduction du type des variables locales avec var
Travaux pratiques
Descriptif : Création de programmes simples avec mise en œuvre de variables de différents types, Calculs avec opérateurs, branchements conditionnels et boucles.
- Packages, classes, objets, constructeurs, méthodes, spécificateurs d’accès
- Cycle de vie d'un objet en mémoire, instanciation d’objet avec new
- Comprendre le mot clé 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
Descriptif : Création d’une application avec classes en relation d’association, de composition, d’héritage, Mise en œuvre du polymorphisme.
- 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, récupération de Stack Trace
Travaux pratiques
Descriptif : 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.
- Principe du déploiement
- Création/utilisation de librairies jar
- Création/utilisation de jar exécutables
- Les modules, les commandes jlink et jpackage du JDK
Travaux pratiques
Descriptif : Déployer une application à l’aide d’un fichier jar ordinaire puis à l’aide d’un jar exécutable
- Qu’est-ce que la généricité ? Son intérêt et son usage dans les collections
- L’interface Collection, ses principales sous-interfaces : List, Set, Queue
- L’interface Map
- Les principales classes d’implémentation : ArrayList, HashSet, TreeSet, HashMap
- Redéfinition des méthodes equals et hashCode
- Parcours de collections avec itérateur, boucle for-each
Travaux pratiques
Descriptif : Remplacement d’un tableau Java par une collection ArrayList dans un projet. Parcours des éléments. Utilisation d’un TreeSet, d’une HashMap
- Principales classes du package java.io
- Distinction flux d’octets, de caractères
- Application aux fichiers, au réseau
- Opérations de lecture/écriture sur les fichiers
- Manipulation de répertoires
- Bufferisation des données Sérialisation d’objets
- Présentation des API du package java.nio
Travaux pratiques
Descriptif : É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.
- Le modèle de JDBC, ses principes généraux
- Rôle du driver
- Rappels sur les bases de données relationnelles et SQL
- Correspondance entre types SQL et Java
- Se connecter à un SGBD via JDBC
- Exécuter des requêtes de sélection, de mise à jour
- L’utilisation des PreparedStatement
- Concepts de transaction, délimiter une transaction via JDBC
- Notion de pool de connexions
Travaux pratiques
Descriptif : Mise en place du Driver PostgreSQL dans Eclipse. Ecriture d’une classe DAO offrant les opérations CRUD sur un objet du domaine Simple. Ecriture d’un Main faisant usage de la classe DAO.
- Comprendre les principes de la programmation fonctionnelle
- Syntaxe des classes internes anonymes
- Notion d’interface fonctionnelle
- Anatomie d'une expression Lambda
- Simplifier les expressions lambdas avec les références de méthodes
- Mise en œuvre des interfaces fonctionnelles : Consumer, Supplier, Predicate, Function
Travaux pratiques
Description : Remplacement de classes internes anonymes par des expressions lambda. Mise en œuvre d’interfaces fonctionnelles de la bibliothèque. Simplification d’expressions lambdas par des références de méthodes
- Objectif de l’API Stream
- Obtention et sortie d’un stream
- Opérations intermédiaires et terminales
- Mise en œuvre des méthodes forEach, map, filter, findFirst
- Principe de l’évaluation paresseuse (lazy)
- Intérêt de la classe Optional
- Spécificités des traitements Big Data
Travaux pratiques
Description : Utilisation de streams séquentiels sur tableaux et collections
- Les modules : rôle et principe
- Nouvelle syntaxe du switch
- Les blocs de texte
- Pattern matching avec instanceof
- Les records
- Les classes et interfaces scellées
- Bibliothèques Java pour l’IA et le Machine Learning
- Interopérabilité avec les outils Python
Travaux pratiques
Description : Sur la base d’un programme Java un peu « ancien » de gestion de commandes simplifiée nous montrons comment le « nettoyer » et le moderniser syntaxiquement. Il fait ainsi office de référence de ce qu’il faut retenir pour générer par exemple du JSON ou du HTML plus proprement, gérer les données avec des structures plsu riches et rappeler l’intérêt des branches Git pour faire cohabiter plusieurs versions de Java pour une même application.
Travaux pratiques
La pédagogie repose sur une logique d’apprentissage actif et de transfert immédiat des compétences. Chaque séquence de cours alterne entre apports théoriques, démonstrations commentées en direct, quiz de validation des acquis, et exercices pratiques sur une base d’application fil rouge. Les stagiaires manipulent très tôt les outils (IDE, compilateur, debugger) pour mieux ancrer les concepts.
Programme mis à jour le 10/12/2025
Public concerné
Ce cours s’adresse aux développeurs ayant une première expérience en programmation orientée objet cherchant à découvrir le langage Java.
La formation peut également servir de socle aux chefs de projets proches du développement désirant mieux communiquer avec leurs développeurs selon un vocabulaire et des visions d’architecture communs.
De manière plus générale, cette formation intéressera toute personne souhaitant rejoindre les équipes de développement Java d’une entreprise.

Prérequis
Les participants à cette formation doivent posséder une expérience préalable en programmation dans le développement d’applications et une connaissance des principes de la programmation Orientée Objet. Il n’est pas prévu de rappels sur les concepts fondamentaux de la POO, traités dans une autre formation (classes, objet, propriétés, méthodes...).
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,7/5
72 avis
« Mon avis sur le contenu du stage : "Il y avait juste une partie théorique que j'ai trouvée un peu longue (classes, héritage, polymorphisme) sans TP ou fil rouge (enfin, il me semble). Peut-être qu'il aurait été intéressant d'avoir un exemple fil rouge ou un schéma récapitulatif qui met en relation les concepts. Sinon c'était exactement ce que je recherchais et la difficulté était parfaite pour un débutant en java qui connaît déjà d'autres langages. Je sais que j'aurais passé beaucoup plus de temps en suivant un livre ou un cours en ligne équivalent, et je n'aurais probablement pas été aussi motivé que pour cette formation pour aller jusqu'au bout. Merci pour tout !" Mon avis sur le formateur : "Excellent" Ce que j'ai le plus apprécié : "L'animateur de la formation, le petit nombre de stagiaires qui permettait de poser beaucoup de questions, et la grande quantité de contenu dans les TPs." Ce que j'ai le moins apprécié : "Ne pas voir les autres participants était un peu étrange parfois, d'autant plus qu'on était seulement quatre. J'ai essayé de lancer une tendance d'allumer sa caméra le premier jour, mais cela n'a pas fonctionné à ma légère déception. Je pense que rétrospectivement j'aurais préféré faire la formation sur place malgré la plus grande complexité logistique de mon côté." »
FEEHAN AesonBPCE SA « Mon avis sur le contenu du stage : "Travaux parfaitement en adéquation avec ce que j'attendais en amont de la formation, et en concordance avec les explications et les apprentissages délivrés lors de la formation." Mon avis sur le formateur : "RAS, si ce n'est que du positif. J'ai ressenti que le formateur était quelqu'un de très sérieux, performant, avec des connaissances multiples et concrètes, disponible et surtout à l'écoute de chacun de ses stagiaires et soucieux du bon déroulé de sa formation. Ses pointes d'humour distillées avec parcimonie tout au long de la formation ont été très appréciées. Je rajouterai enfin que c'est quelqu'un de passionné par ce qu'il expose et transmet à ces stagiaires, c'est du moins le ressenti que j'en ai eu." Mon avis sur la salle de formation : "Contraintes techniques et internes à ANTIBIA (droits d'administration insuffisant sur les postes) ne permettant pas par exemple l'install locale d'un serveur MYSQL, parfaitement acceptées et contournées par le formateur." Ce que j'ai le plus apprécié : "Capacité de réaction et d'adaptation." Ce que j'ai le moins apprécié : "RAS" »
GJ « Mon avis sur le contenu du stage : "Le support de cours était très clair et très exhaustif. Les exercices proposés par Denis étaient tous en parfait accord avec le cours, d'autant plus qu'il y en avait beaucoup, ce qui est bien pour la pratique." Mon avis sur le formateur : "Denis fut excellent dans la présentation du cours ainsi que dans l'aide apportée. Il a su expliquer de façon très pertinente et claire des concepts parfois complexes à comprendre. Il se rendait aussi disponible si nous avions des questions et allait chercher lui-même les participants pour les aider." Mon avis sur la salle de formation : "Étant donné que la formation se faisait en classe virtuelle, l'expérience n'est pas la même qu'en présentiel. Toujours est-il que les outils utilisés étaient très bons et m'ont permis de suivre le cours d'une façon aussi bonne que si j'étais en présentiel." Ce que j'ai le plus apprécié : "Tous." Ce que j'ai le moins apprécié : "Aucun." »
CAUVIN ThierrySOPRA STERIA ACADEMY
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- Java sans connaître l'objetRéf. JSCO5 joursFondamental
- Java Avancé, perfectionnementRéf. JNPF4 joursAvancéProchaine session : 26 oct.2 490 €
- LangChain4j : intégrer ses LLMs dans des applications JavaRéf. LC4J1 jourIntermédiaireProchaine session : 21 déc.950 €
- Le framework JUnitRéf. JJUN2 joursIntermédiaireProchaine session : 14 déc.1 590 €