Java (les bases et la POO)
Mes notes pour le cours de programmation de base et de programmation orientée objet
Les bases du language
Une "cheatsheet" sur la syntaxe du language, et toutes les bases. Ce chapitre ne traite pas l'ori...
Introduction
Ceci sont mes notes de Java. J'ai essayé de les écrire sous le même format que Rust by example. V...
Hello World
Pour le cours de Java on va utiliser OpenJDK 18. On peut l'installer depuis le site de java OpenJ...
Variables (types, constantes, cast et String)
Les types primitifs /* Code à intégrer dans la fonction main d'une classe */ // On peut déclarer...
Opérations sur les variables (calculs, logiques, binaire)
int a = 12; int b = 20; int c = 42; // Opérateurs de calcul int x = (a + b + 2) / c; // Le résul...
Acquisition des données de l'utilisateur (Console)
Créer un dossier io dans premier-java et y placer le fichier Console.java donné dans la page du c...
Affichage formatté (print, println, printf)
System.out.print("Quel est votre nom ? "); String nom = io.Console.lireString(); System.out.print...
Tableaux
// Création d'un tableau d'entiers vide d'une longueur de 5 éléments int[] puissancesDeux = new i...
Manipulations de Strings
String inputString = "ceci est mon string, 32"; String[] tab = inputString.split(", "); String st...
Un peu de Math
// Génération de nombres aléatoires double nombreAleatoire = Math.random(); // Puissances et rac...
Conditions (if, else, switch)
System.out.print("Sélectionnez un nombre: "); int first = io.Console.lireInt(); if (first == 42)...
Méthodes static
public class Bonjour { public static void main(String[] args) { System.out.print("Que...
Boucles (for, for each, while, do...while)
Pour ne pas avoir besoin de repeter un code beaucoup de fois, on peut utiliser des boucles. Il en...
Le RegEx
Voici un petit résumé de la signification des différents caractères : Element en regex Signifi...
Tests unitaires avec jUnit 5
Les tests unitaires permettent d'avoir une vue globale de la santé d'un projet en s'assurant que ...
Génération de la documentation avec javadoc
La Javadoc permet d'écrire la documentation des méthodes du programme directement dans le code. U...
La programmation orientée objet
Programmation orientée objet
⚠️ Attention cette page est en cours de construction La programmation orientée objet (POO) est...
Null, equals et toString
Dans ce chapitre on va parler des références (addresses en mémoire) ainsi que du fonctionnement d...
Les enums (classes limitées)
Parfois on connais déjà le domaine d'une classe et il est assez réduit. Par exemple si on a une c...
Les concepts (encapsulation, composition, heritage, etc)
Initialisation, surcharges de constructeurs et méthodes de fabriques class Matricule { // Java ...
Ne faites pas du traffic d'organes (encapsulation et bonnes pratiques)
Encapsuler ses attributs public class Group { // Ces attributs sont private donc ne peuvent pas ...
Comment concevoir en orienté objet
Le RDD signifie "Responsability Driven Developement" et c'est un systeme qui permet de concevoir ...
Programmation orientée objet (B2)
Le cours de programmation orientée objet de deuxième année
Introduction
Logiciels Gradle (obligatoire) Un éditeur de code (au choix), par exemple Eclipse, IntelliJ ou V...
Exceptions
On va surtout utiliser Exception et Runtime Exception, mais pas directement (on va plus tot util...
Moteur de production (gradle)
L'objectif est d'automatiser les actions pour produire un logiciel, gérer les dépendances, les dé...
Dernière fonctionalités utiles du JDK 17
Je n’ai ici gardé que les plus importants changements à utiliser. Depuis JDK 8 Lambdas et int...
Doublures de test
Introduction Les doublures de tests permettent d'isoler les classes à tester et de briser les int...
Logging
Le logging permet de débugger plus simplement les application avec plus de finesse qu'avec System...