Séminaire de programmation en Java
Automne 2024
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. Pour une introduction plus complète à Java, lire les chapitres 1, 2 et 3 du livre Java: de l'Esprit à la méthode (pdf)
Cours : Introduction à Java
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. (Résumé des chapitres 4 et 5 du livre Java: de l'Esprit à la méthode)
Cours : Le langage Java
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 :
Les objets et les classes
Objets, classes, extensions de classes (héritage) ; la référence, la signification de = et de == pour les références.
Cours : Les classes et les objets en Java
Exemples de classes : Une implémentation de la pile en Java et une implémentation avec une classe interne
Exercices :
L'API de Java
Organisation de l'API, package, le package java.lang, la classe String, la classe StringTokenizer.
Cours : Java et son environnement de programmation API
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.ex. 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.
Exercices :
Les collections
Les collections de données en Java : ArrayList, LinkedList, HashSet et HashMap.
Cours : Les collections en Java
Exemple : Une démo de la classe HashMap (projet BlueJ HashMapDemo.zip)
Exercices :
Les interfaces utilisateur graphiques
Les conteneurs, les protocoles de mise en page, les packages java.awt et javax.swing.
Cours : Les interfaces utilisateur graphiques en Java
Exemples et ressources : Des exemple d'applications 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") ( Interfaces utilisateur graphiques en Java - Livre et exemples )
Exercices :
Liens
Les séries d'exercices sont à rendre sur le site Moodle du cours Informatique II dans la section "Séminaire Java" (tout en bas de la page)
L'API Java [API Java SE 8]
... et la version [API Java SE 11], module de base uniquement
Les tutoriels Java de Sun (les bases, les applets, interface graphique, son, images, etc.)
Le site de BlueJ documentation, tutoriel, téléchargement
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, 23 septembre 2024