1. java-hell.de
  2. Thèmes
  3. Variables
Thème 2 sur 11

Apprendre les variables en Java – Exercices en ligne

Les variables sont les tiroirs de ton programme. Tu découvres int, double, String et boolean, tu assembles des textes et tu remplaces des valeurs. Chaque exercice ne prend que quelques minutes.

Les exercices

Ce que tu vas apprendre dans ce thème

  1. Ta première variable
  2. Une variable pour du texte
  3. Nombres à virgule
  4. Assembler du texte
  5. Écraser une variable
  6. Vrai ou faux
Exercice 1 sur 6

Ta première variable

Une variable, c'est comme une boîte avec une étiquette. Tu lui donnes un nom et tu mets une valeur dedans.

Ça ressemble à ça :

int age = 25;

Ça veut dire : crée une boîte appelée age qui stocke un nombre entier (int), et mets 25 dedans.

La variable existe déjà. Change sa valeur de 25 à 30.

Code de départ
void main() {
    int age = 25;
    IO.println(age);
}
Contexte
Comment les variables fonctionnent en mémoire

Quand tu écris int age = 25;, Java réserve exactement 4 octets (32 bits) de mémoire et y stocke la valeur 25 sous forme de nombre binaire.

Le nom age n'est qu'une étiquette pour toi : le bytecode compilé travaille à la place avec un emplacement numéroté dans le cadre de pile (stack frame) de la méthode. Le nom ne survit que comme information de débogage optionnelle.

Un int peut stocker des valeurs d'environ -2,1 milliards à +2,1 milliards. Pour des nombres plus grands : long (8 octets).

Exercice 2 sur 6

Une variable pour du texte

Pour du texte, tu utilises le type String (avec un S majuscule !) :

String nom = "Anna";

Change le nom pour que Max s'affiche.

Code de départ
void main() {
    String nom = "Anna";
    IO.println(nom);
}
Contexte
String ou int : référence ou valeur

Un int stocke la valeur directement. Un String stocke une référence (un pointeur) vers un objet situé dans la mémoire appelée tas (heap).

C'est pour ça qu'on compare les chaînes avec .equals() plutôt qu'avec == : == compare seulement les références (est-ce que les deux pointent vers le même objet ?), pas le contenu.

Exercice 3 sur 6

Nombres à virgule

Pour les nombres à virgule, il y a double :

double prix = 4.99;

Important : Java utilise toujours un point comme séparateur décimal. Donc 4.99, jamais 4,99.

Change le prix en 9.99.

Code de départ
void main() {
    double prix = 4.99;
    IO.println(prix);
}
Contexte
Les nombres à virgule flottante et leurs bizarreries

Un double occupe 8 octets et stocke les nombres au format à virgule flottante IEEE 754. Conséquence : certains nombres décimaux ne peuvent pas être représentés exactement !

Par exemple, 0.1 + 0.2 donne 0.30000000000000004 en Java. C'est pour ça que les montants d'argent sont généralement gérés avec BigDecimal.

Exercice 4 sur 6

Assembler du texte

Avec +, tu peux coller du texte et des variables :

String nom = "Java";
IO.println("Bonjour " + nom);

Résultat : Bonjour Java

Remplace ??? pour que J'ai 25 ans s'affiche.

Code de départ
void main() {
    int age = 25;
    IO.println(???);
}
Contexte
La concaténation de chaînes

Quand tu écris "Texte" + nombre, Java convertit automatiquement le nombre en chaîne de caractères (conversion en String) et colle les deux ensemble.

Les chaînes sont immuables, donc chaque concaténation crée un nouvel objet String. Dans une boucle, ça s'accumule vite et ça devient lent. Dans ce cas, les pros utilisent un StringBuilder, ou pour une sortie formatée String.format("J'ai %d ans", age).

Exercice 5 sur 6

Écraser une variable

Tu peux changer la valeur d'une variable à tout moment :

int x = 5;
x = 10;  // x vaut maintenant 10

Attention : quand tu la modifies, tu ne réécris pas int devant. Le type n'apparaît qu'au moment où la variable est créée.

Mets points à 100 avant qu'il soit affiché.

Code de départ
void main() {
    int points = 0;
    // Mets points à 100
    IO.println(points);
}
Contexte
Déclaration ou affectation

int x = 5; est une déclaration avec initialisation : le type est fixé et une valeur de départ est définie. x = 10; est une simple affectation.

Si tu écris encore int x = 10;, Java pense que tu veux créer une nouvelle variable, et il râle, parce que x existe déjà. Donc : le type, une seule fois !

Exercice 6 sur 6

Vrai ou faux

Le type boolean ne connaît que deux valeurs : true (vrai) ou false (faux).

boolean faitBeau = true;
boolean pleut = false;

Change la valeur pour que true s'affiche.

Code de départ
void main() {
    boolean javaEstCool = false;
    IO.println(javaEstCool);
}
Contexte
Les booléens et la logique

En théorie, un boolean n'a besoin que d'1 bit. Mais la JVM ne fixe pas vraiment sa taille : en pratique, il occupe généralement un octet entier (dans un tableau), voire 4 octets (comme variable locale), parce que c'est plus rapide à manipuler.

Les valeurs booléennes sont la base de toutes les décisions dans un programme. Tu peux les combiner avec && (ET), || (OU) et ! (NON).

Java utilise l'évaluation en court-circuit : avec a && b, b n'est même pas vérifié si a vaut déjà false.

Assez lu. À toi de jouer.

Dans le tutoriel, tu écris le code toi-même, tu cliques sur Exécuter et tu vois tout de suite si ton programme marche. Sans JDK, sans IDE, sans prise de tête.

S'entraîner sur Variables dans le navigateur