Les différents types de variables en Java
type élémentaire | intervalle de variation | nombre de bits |
boolean | false , true | 1 bit |
byte | -128 ... +127 | 8 bits |
char | caractères unicode (valeurs de 0 à 65536) | 16 bits |
double | Virgule flottante double précision ~5.10^308 | 64 bits |
float | Virgule flottante simple précision ~9.10^18 | 32 bits |
int | entier signé -2^31-1... +2^31 | 32 bits |
long | entier signé long -2^63-1... +2^63 | 64 bits |
short | entier signé court -2^15-1... +2^15 | 16 bits |
Compatibilité ascendante des types de variables en Java
Les types entiers compatibles : | Les types réels compatibles :
|
Visibilité
des variables dans Java
Toute variable déclarée dans un bloc est visible dans ce bloc et dans tous les blocs imbriqués dans ce bloc. |
En java les blocs sont constitués par :
|
Le masquage des variables n'existe que pour les variables déclarées dans des méthodes :
Il est interdit de redéfinir une variable déjà déclarée dans une méthode soit :
|
Exemple de visibilité dans une classe
class ExempleVisible {
static int a = 100;
|
La variable "a" définie dans static
int a =100; :
- Est une variable de la classe ExempleVisible. - Elle est visible dans methode1 et dans methode2. C'est elle qui est utilisée dans methode1 pour évaluer l'expression x+a. - Dans methode2, elle est masquée par le paramètre
du même nom qui est utilisé pour évaluer l'expression
x+a.
|
Exemple1 de variables locales à une méthode
class ExempleVarLoc1 {
static int a = 100;
|
La variable de classe "a" définie dans
static int a = 10; est masquée dans les deux méthodes methode1 et methode2. - Dans la méthode methode1, c'est la variable locale long
a = 123456 qui masque la variable de classe
static int a.
- Dans la méthode methode2, char car ='u'; est une variable locale à la méthode methode2, le paramètre int a masque la variable de classe static int a. Les variables locales char car n'existent
que dans la méthode où elles sont définies, les variables
"car" de methode2 et "car" de methode1
n'ont aucun rapport
entre elles, bien que portant le même nom.
|
Exemple2 de variables locales à une boucle et une instruction
class ExempleVisible4 {
|
La variable de classe "a" définie dans static int a = 10; est masquée dans la méthode f dans le bloc imbriqué for. La variable de classe "b" définie dans static int b = 2; est masquée dans la méthode methode dans le bloc imbriqué if. Dans l'instruction { intb = 8; b = 5-a+i*b; } , c'est la variable b interne à ce bloc qui est utilisée car elle masque la variable b de la classe. Dans l'instruction else b
= 5-a+i*b;
, c'est la variable b
de la classe qui est utilisée (car la variable int b
= 8 n'est plus visible ici) .
|