Java est un langage compilé ou interprété ?
Les deux, il est compilé en byte code (.class) par un compilateur puis interprété par la jvm (java virtual marchin) pour tourner sur tous les OS.
Quelle est la différence entre le JDK, le JRE et la JVM ?
Le JDK (Java Development Kit) contient les outils pour développer (comme le compilateur javac). Le JRE (Java Runtime Environment) permet d’exécuter le code. La JVM (Java Virtual Machine) interprète le bytecode compilé pour le faire tourner sur n’importe quel OS.
Quelle est la philosophie de Java ?
Write once, run anywhere.
Comment déclare-t-on une variable en Java ?
int entier = 5;
ATTENTION : au nom réservé par Java. On ne peux pas les utiliser.
Qu’est ce qu’une variable final en Java et comment la déclare-t-on ?
final int entier = 15;
Une variable final ne peut plus être modifiée après sa déclaration.
Elle diverge d’une constante parce que chaque instance d’un objet peut avoir une valeur de finale différente.
Quelles sont les conventions de nommage en Java ?
Quels sont les types primitifs en Java ?
Les types primitifs de Java sont passés par valeur et ont une valeur par défaut.
byte : entier entre -128 et 127 // valeur par défaut = 0
short : entier entre -32 768 et 32 767 // 0
int : entier sur 32 bites // 0
long : entier sur 64 bits // 0
float : décimal à virgule flottante sur 32 bits // 0.0
double : décimal à virgule flottante sur 64 bits // 0.0
boolean : true ou false // false
char : caractère unique // \u0000’
ATTENTION : les float et double ne doivent pas être utilisé pour des calculs précis.
Quels sont les types primitifs en Java ?
Les types primitifs sont passés par référence, peuvent être null (valeur par défaut), peuvent être comparé avec .equals() et sont des classes.
String : chaîne de caractère
type primitif “boxés” : Integer, Long, …
tableau
classe
objet
Qu’est-ce que l’inférence de type ?
Si le type d’une variable n’est pas ambigu, il peut être inféré.
var texte = “”;
Comment récupère-t-on et affichons des valeurs dans le terminal ?
IO.readln(“entrer une valeur: “);
IO.println(“Votre nombre = 5”);
Qu’est ce que le transtypage (cast) en Java ?
Le transtypage permet de changer le type d’une variable.
String foo = (String) 10;
Comment déclare-t-on un tableau en Java ?
Les tableaux permettent de stocker un nombre fixe de données. Ils sont indexés à partir de 0.
String[] tableOfString = {“foo”, “bar”};
int[] array = new int[10]; -> initialisation d’un tableau vide de 10 cases
Comment boucle-t-on sur un tableau en Java ?
for (int number : numbers) {
System.out.println(number);
}
Quelles sont les trois collections principales pour manipuler des groupes d’objets en Java ?
List : Une collection ordonnée qui accepte les doublons (ex: ArrayList).
Set : Une collection non ordonnée qui refuse les doublons (ex: HashSet).
Map : Une structure qui stocke des associations Clé-Valeur (ex: HashMap).
IMPORTANT : Les collections ont des tailles dynamiques.
List.of() / Set.of() / Map.of() permettent de faire des collections non modifiables.
Quelle est la différence entre un LinkedHashSet et un TreeSet ?
Un LinkedHashSet permet trier par ordre d’apparition alors qu’un TreeSet tri par ordre naturel (compareTo()).
Comment parcourir les clés et les valeurs d’une Map ?
On utilise une boucle foreach.
Pour les clés :
for (Type cle : map.keySet())
Pour les valeurs :
for (Type valeur : map.values())
Qu’est-ce qu’une classe en Java ?
Une classe est un type qui regroupe des données (attributs) et des fonctions (méthodes) qui peuvent agir sur ces données.
IMPORTANT : Tout le code Java doit être contenu dans des classes.
Qu’est-ce qu’un attribut en Java ?
Les attributs sont des données encapsulées à l’intérieur d’un objet ou classe.
Les attributs sont accessibles depuis les méthodes de la classe à l’aide de this.
public void recharge {
this.nbBalles += 2;
}
Comment instancie-t-on une classe ?
Il s’agit de créer un objet à partir du modèle que constitue la classe.
Lorsque l’on instancie une classe, on appelle un constructeur de celle-ci.
Date date = new Date();
Qu’est ce qu’une méthode en Java ?
Les méthodes sont des blocs de code qui réalisent une tâche spécifique.
public static void methodName (int x, int y) {}
Une méthode d’instance (pas static) opère sur une instance d’une classe.
Elle peut accéder / modifier l’état de sa propre instance.
Qu’est-ce qu’un constructeur en Java ?
Le constructeur est une méthode particulière d’une classe qui permet d’en instancier un objet.
C’est la méthode invoquée par le new.
class Point {
int x;
int y;
Point() {
this.x = 0;
this.y = 0;
} }IMPORTANT : elle porte le même nom que la classe et n’a pas de valeur de retour.
Il est possible d’avoir plusieurs constructeur pour des paramétrage différents -> surcharge
Le constructeur peut être invoqué dans un autre constructeur avec this().
Quelles sont les méthodes particulières d’un classe ?
toString() : permet de faire un affichage de l’état d’un objet lisible par un humain, sinon l’emplacement mémoire est affiché.
Si elle est présente, son appel est automatique.
equals(Object o) : permet de définir les conditions d’égalité de deux objets (sinon toujours false car comparaison des emplacements mémoire)
hashCode() : permet de faire un hash de l’objet, utile pour les collections
compareTo() : permet de comparer deux objets. Pour l’utiliser, la classe doit “implements Comparable<object>”</object>
Qu’est-ce qu’un Record en Java ?
Un record est une syntaxe compacte pour une classe qui n’est pas modifiables.
record Personne (Address address, String name) {}
= attributs + constructeur + getter + equals() + hashCode() + toString()
Qu’est-ce qu’une composition en Java ?
On appelle la composition le fait qu’une classe utilise des instances d’autres classes comme attributs.