Formations Langages & Algo

Durée 4 jours • 28 heures Obtenir un devis

Présentation du langage

  • Présentation et historique du langage
  • L'écosytème Java : Java SE, Java EE

L'environnement de développement

  • Présentation du JDK
  • Présentation Jetbrains IntelliJ (Integrated Development Environment)
  • Perspectives, vues et éditeurs
  • Editer, compiler et exécuter du code
  • Documenter le code avec Javadoc
  • Importer des librairies externes
  • Assistants, raccourcis clavier, trucs et astuces
  • Refactoring : formatage, gestion des imports, génération de code

Déclarations et contrôle d'accès (java.lang)

  • Norme JavaBean et validité des identifiants
  • Déclarer une classe, organisation en packages
  • Déclarer des membres d'une classe
  • Types de données : types primitifs, références, tableaux
  • Déclarer une propriété
  • Déclarer une méthode : paramètres et type de retour
  • Notion de constructeur, processus d'instanciation
  • Classes abstraites et interfaces
  • Contrôle d'accès
  • Modificateurs de visibilité : public, protected, package, private
  • Autres modificateurs : final, static

Programmation objet (java.lang)

  • Introduction à la conception objet, notions de classe et d'instance
  • Introduction à la notation UML : diagrammes de classes et de séquences
  • Principes de forte encapsulation et de couplage faible
  • Notion de composition (« HAS-A »)
  • Notions d'héritage (« IS-A »), de polymorphisme, de cast
  • Surcharge (« overloading ») et redéfinition (« overriding »)
  • Notion d'identité d'objet : equals et hashCode

Opérateurs (java.lang)

  • Affectation
  • Egalité et comparaison
  • Opérateurs booléens
  • Instanceof

Structure de contrôle et exceptions (java.lang)

  • Tests : if, switch
  • Boucles : for, foreach, while, do-while
  • Notions d'exceptions
  • Déclaration dans les signatures des métodes
  • Capture et traitement avec « try/catch »
  • Notion de bloc « finally »
  • Hiérarchie des exceptions, « checked » vs « runtime »

Tableaux et Collections (java.util)

  • Les types de collections : List, Set, Map
  • Comprendre l'API des collections : introduction aux types paramétrés (« generics »)
  • Choisir la bonne collection
  • Parcourir une collection ou un tableau : notion d'itérateur
  • Trier une collection ou un tableau : Comparable et Comparator
  • Rechercher dans une collection ou un tableau

Formatage et Internationalisation (java.text)

  • Notion de Locale
  • Formater les dates et les nombres avec DateFormat et NumberFormat
  • Formater les messages avec MessageFormat et ChoiceFormat
  • Externaliser les messages avec ResourceBundle

I/O Fichiers (java.io)

  • Notions de flux textuel (Reader/Writer) et binaire (Streams)
  • Hiérarchie des classes de java.io et notion d'adapter
  • Ecriture et lecture d'un fichier texte sur disque avec BufferedReader et PrintWriter
  • Notion de sérialisation, variables transientes
  • Ecriture et lecture d'un graphe d'objets sur disque avec ObjectOutputStream et ObjectInputStream

I/O Réseau (java.io)

  • Notion d'adresse réseau et de port
  • Notion de socket
  • Connexion à un serveur en TCP, lecture et écriture du flux
  • Développement d'un serveur
  • Notion de protocole, présentation de protocoles existants

Accès aux bases de données avec JDBC (java.sql)

  • Ouverture d'une connexion
  • Effectuer une requête en écriture
  • Effectuer une requête en lecture, notion de ResultSet
  • Utiliser PreparedStatement