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