Séminaire de programmation en Java

Automne 2023

Module BA3a, séminaire d'informatique II


Plan

  • Introduction à Java

    Contexte de Java : Web, hypertextes, langages orientés objet - adéquation de Java au Web - L'environnement programmation Java BlueJ (introJava.pdf). Pour une introduction plus complète à Java, lire les chapitres 1, 2 et 3 du livre Java: de l'Esprit à la méthode (pdf)

  • Exemple : une première application Java (MaPremiereApplication.java)


  • Le langage Java

    Les littéraux, les types primitifs, les déclarartions de variables, les expressions, les instructions. Les structures de contrôle: le bloc d'instructions, if else, switch case, while, do while, for. Le langage Java, de la syntaxe vers les concepts (langageJava.pdf). (Résumé des chapitres 4 et 5 du livre Java: de l'Esprit à la méthode)

  • Exemples de programmes : L'algorithme du crible d'Eratosthène, Calcul de l'âge en nombre de jours, afficher les arguments de la ligne de commande (classe Echo)

    Exercices :
  • Exercices série 1 ( corrigé ) ( corrigé PDF de l'ex. 2 )
  • Exercices série 2 ( corrigé ) ( corrigé PDF de l'ex. 4 )
  • 36 autres exercices Java facultatifs (commencer à partir de l'exercice 6) et le corrigé


  • Les objets et les classes

    Objet, classe, extension de classes (héritage); la référence, la signification de = et == pour les références (classesEtobjets.pdf).

  • Exercices :
  • Exercices série 3 ( corrigé ) ( corrigé PDF des ex. 3-4 ). Pour certains exercices, vous aurez besoin du dossier examples qui contient entre autres les projets BlueJ "shapes" et "picture".

    Exemple de classe :
  • Une implémentation de la pile en Java et une implémentation avec une classe interne


  • L'API de Java

    Organisation de l'API, package, le package java.lang, la classe String, la classe StringTokenizer (JavaAPI.pdf).

  • Exercices :
  • Exercices série 4 ( corrigé ) ( corrigé PDF des ex. 3-4 )

  • Autres exemples d'utilisation de l'API :
  • Une classe qui affiche le contenu d'un fichier ListerFichier (utilisation des classes FileReader et InputStreamReader)
  • Une classe qui lit à partir du clavier et affiche le texte tapé LireEcrire (utilisation des classes InputStreamReader et BufferedReader)
  • Une classe Date et ses constructeurs; p.e. construction de la date à partir d'une chaîne de caractères au format "23-déc-2016" en utilisant la classe StringTokenizer. Extension de la classe Date en ajoutant l'heure: la classe DateH.
  • Une classe qui cherche un mot dans un texte en utilisant les expressions régulières : Regex. En Java, les expressions régulières sont implémentées par les classes "Pattern" et "Matcher" définies dans le package java.util.regex.


  • Les Collections

    Les collections de données en Java : ArrayList, LinkedList, HashSet et HashMap (collections.pdf).

    Exemple : Une démo de la classe HashMap (projet BlueJ HashMapDemo.zip)


  • Exercices :
  • Exercices série 5


  • Les interfaces utilisateur graphiques

    Les conteneurs, les protocoles de mise en page, les packages java.awt et javax.swing. ( IUGjava.pdf )

    Des exemples d'application et le chapitre 11 du livre BlueJ "Construction des interfaces utilisateur" sur le site Moodle d'Info II (à la fin de la section "Séminaire Java"): à venir

    Exercices :
  • Exercices série 6 (à venir)


  • Liens

  • Les séries d'exercices sont à rendre sur le site Moodle du cours Info II dans la section "Séminaire JAVA : rendus" (tout en bas de la page)
  • L'API Java [API Java SE 8]
  • ... et la version [API Java SE 11], module de base uniquement
  • Le coin Java du CUI
  • Les tutoriels Java de Sun (les bases, les applets, interface graphique, son, images, etc.)
  • Le site de BlueJ documentation, tutoriel, téléchargement de la version 3.0.3 (suivre le lien "quick download", contient aussi le lien vers JDK 6)
  • Une introduction à Eclipse, préparée par Sébastien Mettral, destinée à vous aider à faire les premiers pas avec l'environnement de développement eclipse pour Java

  • Bibliographie

  • Java: de l'esprit à la méthode , M. Bonjour, G. Falquet, J. Guyot, A. Le Grand, Vuibert, 2e édition, 1999, 544 pp. (pdf)
  • Programmer en Java, C. Delannoy, 11e édition, Eyrolles, 2020
  • Conception Objet en Java avec BlueJ, D. Barnes et M. Kölling, 4e édition, Pearson, 2009
  • Data Structures and Problem Solving Using Java (4th edition), Mark Allen Weiss, Addison-Wesley, 2010, 1024 pp. (site du livre)
  • Data Structures and Algorithm Analysis in Java (3th edition), Mark Allen Weiss, Addison-Wesley, 2012, 640 pp. (site du livre)

    LN, adapté par MB, 25 septembre 2023