a. les types de données et variables en Java


Qu'est ce qu'une variable ?

Lorsque vous lancer un programme, il est chargé en mémoire ram. En mémoire le programme contient principalement les instructions et les données. Lors de l'exécution les instructions manipulent les données. Ces données peuvent être par exemples : l'âge ou le nom d'une personne ou la durée de vie dans le cas d'un jeux vidéo par exemple.

Les variables sont les noms qu'on donne à ces données lors du codage du programme. Supposons qu'on veut stocker l'âge d'une personne dans une variable, on doit faire 2 opérations :

  • 1 - déclaration :

Lorsqu'on veut stocker une valeur ou une donnée lors du codage d'un programme, on doit d'abord déclarer cette variable, pour dire au compilateur java que dans ce programme il y a une variable telle...

La déclaration en java consiste à donner :

  • - le type de la donnée qu'on veut stocker : comme la donnée c'est l'âge, le type va être un nombre. Si c'est le nom ça peut être une chaîne de caractère.


  • - suivie du nom qu'on donne à cette variable : le nom des variables encore appelés identifiants sont des chaînes de caractères qui doivent commencer par des lettres alphabétiques suivie par tout ce que voulez. Evitez les mots clés réservés et les caractères spéciaux com @, $. Si c'est un nom composé de plusieurs mots, vous écrivez tout collé mais en commençant chaque mot par une lettre majuscule, par exemple : agePersonne.


  • - en suite on termine la déclaration par un point virgule (;) qui est obligatoire.


Exemple :

int agePersonne;

int = c'est type de la variable, ici un entier

agePersonne = nom qu'on donne à cette variable


A cette étape il y a un espace en mémoire ram qui est réservé avec le nom agePersonne, il faut donc mettre la donnée, la valeur de l'age à l'intérieur de cette espace mémoire, c'est l'initialisation.


  • 2 - initialisation :

L'initialisation c'est donner une valeur une variable. Pour initialiser on écrit le nom de la variable, suivi du signe égale suivie de la valeur. Par exemple :

int agePersonne; // déclaration
agePersonne = 25; // initialisation


A cette étape la variable agePersonne contient la valeur 25. On peut l'afficher :

class Variable{
    private static void main(){
        int agePersonne;    // déclaration
        agePersonne = 25;   // initialisation
        System.out.println("age personne : " + agePersonne);
    }
}



Les types de données

Java est un langage statiquement typé, c'est à dire que chaque donnée doit avoir un type, sinon le programme ne va pas compiler.

Le compilateur java lors de la compilation de votre programme a besoin de savoir combien d'espace mémoire il faut réserver pour chaque donnée, car les types ont des tailles différentes.


Parmi les types de données il y a

  • - les types primitifs ou fondamentaux : ils sont 6, ce sont des nombres :
  • - 4 entiers (sans virgule) : byte, shorts, int, long
  • - 2 décimaux (avec virgule) : double, float


  • - les objets : on verra dans les prochains chapitres.



les types primitifs ou fondamentaux


byte

Les types byte en java sont des données qui occupent au maximum 8 bits en mémoire ou 1 octet, c'est à dire les valeurs possibles sont comprises entre -128 (exclut) et 127 (inclut).

Ils sont utiles lorsqu'on manipule des tableaux en mémoire, ils aident à économiser les espaces mémoire en utilisant exactement l'espace nécessaire.


short

Les types short en java occupent au maximum 16 bits ou 2 octets en mémoire, c'est à dire les valeurs possibles sont comprises entre -32 768(exclut) et 32 767 (inclut).

Ils sont aussi utiles pour la manipulation des données en mémoire.


int

Les types int en java occupent 32 bits en mémoire, c'est à dire 4 octets, les valeurs possibles sont comprises entre -2 147 483 648 (exclut) et 2 147 483 647 (inclut).

C'est le type le plus utilisé, sauf si vous voulez representer le nombre d'habitants sur la terre dans ce cas il faut utiliser le type suivant qui est long.


long

Les types long occupent 64 bits en mémoire, c'est à dire 8 octets. Les valeurs possibles sont comprises entre -263 et 263 - 1, ils sont utilisés dans des cas rares, par exemple pour représenter le nombre de vue, le nombre de d'hommes sur terre etc...

float

Les types float en java occupent 32 bits en mémoire, c'est à dire 4 octets , les valeurs possibles sont comprises entre - 3.40282347 x 1038 et 3.40282347 x 1038 .

Les variables de type float ont des suffix F à la fin, par exemple 3.14F. Ce type est rarement utilisées de nos jours. Les développeurs préferes le type double.


double

Les types doubles en java occupent 64 bits en mémoire, c'est à dire 8 octets , les valeurs possibles sont comprises entre -1.79769313486231570 x 10308 et  1.79769313486231570x10308.

Les variables de type double ont des suffix D à la fin, par exemple 3.14D ou bien ils n'ont pas par exemple 3.14.


Autre types :


A part les types fondamentaux précédents il y a 2 autres types :

char

Ce type est utilisé pour stocker un seule caractère unicode par exemple : A, @, %, p.

En java le type char occupe 2 octets en mémoire.


boolean

Les boolean en java sont des types qui ne peuvent avoir que 2 valeurs possibles : true ou bien false.

Ils sont utiliser lorsqu'il y a une condition qui peut être fausse ou ou vraie.

le type char occupe la taille variable en mémoire.


Exemple :

class Variable{
    private static void main(){


        // vous pouvez déclarer et initialiser en même temps  
        byte agePersonne1 = 25;  


        short maVar = 30000;    
        
        int x = 60000; 
        
        long population = 25000000;  
        
        float note = 18.5F;


        double population2 = 2309876.898;  


        char lettre = 'A';  
        boolean valide = false;  


        System.out.println("agePersonne1 : " + agePersonne1);
        System.out.println("maVar : " + maVar);
        System.out.println("x : " + x);
        System.out.println("population : " + population);
        System.out.println("note : " + note);
        System.out.println("population2 : " + population2);
        System.out.println("lettre : " + lettre);
        System.out.println("valide : " + valide);
    }
}