Adloun

Types, variables et expressions

Cours · programmation Java (école d'ingénieur), chapitre 2 · école d'ingénieur, informatique · le début du chapitre, la suite sur Adloun

Un programme qui ne fait qu'afficher des textes fixés d'avance n'est pas très utile. Pour calculer une moyenne, convertir une durée ou tenir un score, il faut mémoriser des valeurs, les combiner par des opérations, et réutiliser les résultats. C'est le rôle des variables et des expressions.

Java est un langage fortement typé : chaque valeur a un type (entier, nombre décimal, caractère, booléen…), et le compilateur vérifie que l'on ne mélange pas les types n'importe comment. Cette rigueur, parfois agaçante au début, attrape une foule d'erreurs avant même l'exécution. Elle oblige aussi à connaître les pièges de l'arithmétique des ordinateurs, qui n'est pas tout à fait celle des mathématiques : la division entière, le dépassement de capacité, l'imprécision des nombres décimaux.

Objectifs du chapitre

  • Déclarer, initialiser et modifier des variables ; connaître les huit types primitifs et leurs limites.
  • Écrire des expressions arithmétiques et logiques, et prévoir leur valeur (priorités, division entière, reste, court-circuit).
  • Connaître les pièges : division entière, dépassement de capacité, comparaison de nombres décimaux, = au lieu de ==.
  • Convertir d'un type à l'autre, implicitement ou par transtypage.
  • Utiliser la classe Math.

2.1 Les variables

2.1.1 Déclarer, affecter, initialiser

Définition 2.1Variable

Une variable est une case de la mémoire, désignée par un nom, qui contient une valeur d'un type donné. Le type fixe l'ensemble des valeurs possibles et les opérations permises ; il ne change jamais au cours de la vie de la variable. La valeur, elle, peut changer.


public class Variables {
    public static void main(String[] args) {
        int age;              // déclaration
        age = 19;             // affectation
        int annee = 2026;     // déclaration avec initialisation
        System.out.println("Âge : " + age + ", année : " + annee);
        age = age + 1;        // la nouvelle valeur remplace l'ancienne
        System.out.println("L'an prochain : " + age);
        double prix = 12.5;
        boolean majeur = age >= 18;
        char initiale = 'A';
        System.out.println(prix + " " + majeur + " " + initiale);
    }
}

Âge : 19, année : 2026
L'an prochain : 20
12.5 true A

Attention

Une variable locale doit avoir reçu une valeur avant d'être lue. Le compilateur le vérifie :


int total;
System.out.println(total);

NonInit.java:4: error: variable total might not have been initialized
        System.out.println(total);
                           ^
1 error

2.1.2 Nommer les variables

Un nom de variable commence par une lettre, puis contient des lettres, des chiffres et le caractère _. Il ne peut pas être un mot réservé du langage (int, class, for…). La convention Java est le « dos de chameau » : prixTotal, nombreDEleves. Un bon nom dit ce que contient la variable : dureeEnSecondes vaut mieux que d, sauf pour un indice de boucle ou une formule courte.

2.1.3 Constantes

Une variable déclarée final ne peut recevoir qu'une seule valeur : c'est une constante. Par convention, son nom est en majuscules.


final double TVA = 0.20;
TVA = 0.055;

Constante.java:4: error: cannot assign a value to final variable TVA
        TVA = 0.055;
        ^
1 error

Nommer les constantes plutôt que d'écrire des « nombres magiques » au milieu des calculs rend le programme lisible, et facile à modifier : si la TVA change, on ne corrige qu'une ligne.

2.2 Les types primitifs

Java possède huit types de base, dits primitifs. Leur taille est fixée par le langage, la même sur toutes les machines.

TypeNatureTailleValeurs
byteentier1 octet à
shortentier2 octets à
intentier4 octets à (environ )
longentier8 octets à (environ )
floatdécimal4 octetsenviron 7 chiffres significatifs
doubledécimal8 octetsenviron 15 chiffres significatifs
charcaractère2 octetsun caractère Unicode
booleanlogique—true ou false

La suite du cours est sur Adloun

Le chapitre en entier, formules et figures comprises, avec le tuteur, les fiches, les QCM et les exercices.

Lire la suite du cours

En accès libre, sans inscription.

Exercices corrigés de ce chapitre

Lire la suite du cours →