| précédent | sommaire | accueil | suivant |
EXEMPLE 1 :
1. public class Variables1
2. {
3.
4. public static void main (String [] args)
5. {
6. age = 40;
7. }
8.
9. }
Compilez ce programme, un message d' erreur sera affiché. Ce message sera : cannot find symbole symbol : variable age location: class Variables1
age = 40; Qu'est-ce que ça veut dire ? Et bien, que Java ne comprend pas un terme. Ce terme est la variable age qui se trouve dans la classe
Variables1.
Ce message est normal. En Java, quand on utilise une variable, on doit d' abord la déclarer. Et on déclare une variable grâce à au moins deux mots :
le nom de la variable, précédé de son type. Java est en effet un langage de programmation fortement typé. On ne met pas n' importe quelle valeur
dans n' importe quelle variable. Cela permet d' éviter des erreurs. Vous le comprendrez mieux au fur et à mesure que vous comprendrez la programmation.
En Java, on distingue 2 grands groupes de types de variables.
Les types primitifs encore appelés types de bases et les types dits de classe encore appelés types objets, au sens de la programmation orientée
objet. Nous verraons les types objet plus tard.
Les types primitifs sont classés en 4 groupes :
-les types nombres entiers qui contiennent elles mêmes 4 types :
le type byte dont les valeurs sont comprises entre - 128 et + 127 ... le type short dont les valeurs sont comprises entre - 32 768 et + 32 767...
le type int dont les valeurs sont comprises entre - 2 147 483 648 et + 2 147 483 647 et enfin le type long dont les valeurs sont comprises entre
- 9 223 372 036 854 775 808 et + 9 223 372 036 854 775 807
Avant de parler des autres types de base, un petit exemple :
EXEMPLE 2 :
1. public class Variables2
2. {
3.
4. public static void main (String [] args)
5. {
6. byte age;
7. age = 40;
8. System.out.print(age);
9. }
10.
11. }
Compilez puis exécutez ce programme, il sera affiché : 40
Expliquons : Sur la ligne 6, nous avons déclaré la variable age comme étant de type byte. Donc, un nombre entier dont la valeur est comprise entre - 128 et + 127.
Sur la ligne 7, on a mis la valeur 40 dans la variable age. On dit aussi qu' on a affecté la valeur 40 à la variable age. Sur la ligne 8, vous l' avez deviné,
on demande à Java d' afficher la variable age. Attention, il ne s' agit pas d' afficher le mot age. Si c' était le cas, il y aurait eu des doubles crochets autour du mot age.
Non, il s' agit en fait d' afficher la valeur de la variable age. Lorsque Java voit un mot sans crochets dans les parenthèses de la fonction System.out.print()
, il considere que c' est une variable. Si cette variable existe (comme c' est le cas ici), java affiche son contenu. D' où le nombre 40 affiché.
EXEMPLE 3 :
1. public class Variables3
2. {
3.
4. public static void main (String [] args)
5. {
6. byte age = 40;
7. System.out.print(age);
8. }
9. }
Compilez puis exécutez ce programme, il sera affiché : 40
Même explication qu' à l' exemple 2. Une petite différence tout de même. La ligne 6 représente la déclaration et l' affectation de la variable age.
En java, c' est possible. Déclarer et affecter en même temps. Exemle : short nombreEleves = 12574; Déclaration de la variable nombreEleves qui est de type
short. Puis affectation de la valeur 12574 à cette même variable. Pas très compliqué n' est-ce pas ?
EXEMPLE 4 :
1. public class Variables4
2. {
3.
4. public static void main (String [] args)
5. {
6. byte age = 40;
7. System.out.println(age);
8. short nombreEleves = 12574;
9. System.out.println(nombreEleves);
10. int populationFrance = 65254897;
11. System.out.println(populationFrance);
12. long distanceExoPlanete = 12425369875489624;
13. System.out.println(distanceExoPlanete);
14.
15. }
16. }
Compilez puis exécutez ce programme, il sera affiché :
40
12574
65254897
12425369875489624
Expliquons :
La ligne 6 : déclaration et affectation d' une valeur à une variable. La ligne 7 : affichage de la valeur de cette variable.
Même raisonnement pour les lignes 8 et 9, puis 10 et 11, puis 12 et 13.
Sachez que dans la pratique, pour ce qui est des variables de type primitifs, déclaration et affectation vont toujours ensemble.
Le nom d' une variable peut commencer par une lettre (miniscule obligatoirement) ou par le caractère underscore _ (sur la même touche que 8 sur
le clavier azerty). Personnellement, je préfère la lettre miniscule. Dans le cas où le nom d' une variable est un ensemble de mots, la première
lettre des autres mots doit être en majuscules, ceci afin de différencier les mots et faciliter ainsi la lecture.
Afficher les valeurs de variables, c' est bien. Mais si on ne sait pas à quoi correspond cette valeur, ça n' a pas d' importance. au lieu
d' afficher par exemple 40, ce serait mieux d' afficher age = 40. C' est plus parlant non?
EXEMPLE 5 :
1. public class Variables5
2. {
3.
4. public static void main (String [] args)
5. {
6. byte age = 40;
7. System.out.println("age = " + age);
8. short nombreEleves = 12574;
9. System.out.println("nombreEleves = " + nombreEleves);
10. int populationFrance = 65254897;
11. System.out.println("populationFrance = " + populationFrance);
12. long distanceExoPlanete = 12425369875489624;
13. System.out.println("distanceExoPlanete = " + distanceExoPlanete);
14.
15. }
16. }
Compilez puis exécutez ce programme, il sera affiché :
age = 40
nombreEleves = 12574
populationFrance = 65254897
distanceExoPlanete = 12425369875489624
C' est pas mieux ça ? Evidement !
ligne 7 : Java affiche ce qui se trouve entre les doubles crochets, puis affiche le contenu de la variable préalablement déclarée et affectée
ligne 6
Même raisonnement pour les autres affichages.
Autre chose sur les nombres entiers. SI vous ne connaissez pas quel type choisir, parce que évidement vous ne connaissez pas l' échelle des
valeurs, choisissez le type int. C' est toujours le type qu' on choisit par défaut. Même java le choisit par défaut. Je vous expliquerais
pourquoi dans la partie opérateurs et opérations sur les variables.
Maintenant, voyons les autres types primitifs.
EXEMPLE 6 :
1. public class Variables6
2. {
3.
4. public static void main (String [] args)
5. {
6. char lettre = 't';
7. System.out.println("lettre = " + lettre);
8. String nom = "DUPONT";
9. System.out.println("nom = " + nom);
10.
11. }
12. }
Compilez puis exécutez ce programme, il sera affiché :
lettre = c
nom = DUPONT
Lorsque votre variable ne doit contenir qu' un seul caractère, et que cela ne doit pas changer au cours du programme, vous avez affaire à une
variable de type char. Si vous essayez de mettre plus d' un caractère ou même zéro caractère dans une variable de type char, un message d' erreur sera
affiché à la compilation.
Pour le type String, c' est tout simplement la chaine de caractères dont il est question en exemple 1 de la partie 1.1 comment afficher une
information à l' écran?
Sachez que le type String n' est pas un type de base, un type primitif de java. Mais plutôt un type Objet. Mais si on en parle ici, c' est parce
qu' il a une petite particularité. Une variable de type String peut être affectée comme un type primitif, avec le signe égal (=). Alors que les types
Objets sont toujours affectés par le mot clé new . Nous le verrons plus tard en Programmation Orientée Objet.
Sachez pour finir avec ce type que vous pouvez mettre un nombre de caractères indifférents dans le type String. Y compris zéro caractère.
EXEMPLE 7 :
1. public class Variables7
2. {
3.
4. public static void main (String [] args)
5. {
6. float tva = 20.6f;
7. System.out.println("tva = " + tva);
8. double tauxLivret = 2.5;
9. System.out.println("tauxLivret = " + tauxLivret);
10.
11. }
12. }
Compilez puis exécutez ce programme, il sera affiché :
tva = 20.6
tauxLivret = 2.5
Les types float et double sont des types nombres décimaux. En java, on dit surtout nombres réels ou nombres à virgule flottante. le type float est
un type dont les valeurs sont comprises entre - 1.4 * 10-45 et 3.4 * 10 + 38
Le type double a ses valeurs comprises entre 4.9 * 10- 324 et 1.7 * 10+ 308
Le caractère * est le signe de la multiplication en Java
Si vous ne connaissez pas l' échelle de valeurs de la variable de type nombre réel que vous manipulez, préférez le type double. C' est aussi le type
que Java choisit par défaut.
La lettre f qui termine la valeur de la variable de type float permet de préciser qu' il est bien question de type float. Si la lettre n' y est
pas mentionné, alors on a affaire au type double. Essayer de mettre une valeur de type double dans une variable de type float, un message d' erreur
s' affiche. Java n' aime pas ça. Je vous expliquerais pourquoi dans la partie opérateurs et opérations sur les variables.
EXEMPLE 8 :
1. public class Variables8
2. {
3.
4. public static void main (String [] args)
5. {
6. boolean situation1 = true;
7. System.out.println("situation1 = " + situation1);
8. boolean situation2 = false;
9. System.out.println("situation2 = " + situation2);
10.
11. }
12. }
Compilez puis exécutez ce programme, il sera affiché :
situation1 = true
situation2 = false
Les variables de type booléenne n' ont que deux valeurs possibles. Si une situation est vraie, la valeur est true. Dans le cas contraire,
la valeur est false. On ne peut pas affecter une autre valeur dans une variable de type boolean. Si vous essauez, message d' erreur à la
compilation
Dans la pratique, vous n' aurez pas à afficher la valeur d' une variable de type boolean. Vous exploiterez cette valeur de
façon implicite dans des structures conditionnelles. Par exemple, si x est supérieur à y, alors afficher x. Sinon, affichez y. Evidement, vous
utiliserez le langage Java pour cela. Si x est effectivement supérieur à y, la situation est vraie. Fausse dans le cas contraire.
EXEMPLE 9 :
1. public class Variables9
2. {
3.
4. public static void main (String [] args)
5. {
6. final int NOMBRE = 25;
7. System.out.println("NOMBRE = " + NOMBRE);
8.
9 . }
10. }
Compilez puis exécutez ce programme, il sera affiché :
NOMBRE = 25
ligne 6 déclaration et affectation d' une variable. Comme vous le savez déjà. Mais il y a quelque chose en plus. Le mot final. Ce mot a une
signification particulière en Java. Ccedil;a veut dire que la variable NOMBRE est constante. Donc la valeur de ce nombre ne doit pas varier
au cours du programme. Si tel devait être le cas, à la compilation, un message d' eereur s' afficherait.
Remarquez aussi le nom de la variable. Toutes les lettres sont en majuscules. En Java, il est conseillé (pas une obligation) d' écrire le nom d' une
variable tout en majuscules. La question qui peut se poser est de savoir ce qu' on fait si le nom de cette variable est composée de plusierurs mots.
Que faire étant donné que je vous ai dit de mettre la première de chaque mot (à partir du 2ème) en majuscules ? C' est simple ! Utiliser le
caractère underscore (sous le chiffre 8 du clavier azerty). Par exemple : NOMBRE_CONSTANT, TAUX_TVA ou encore DISTANCE_SOLEIL
EXEMPLE 10 :
1. public class Variables10
2. {
3.
4. public static void main (String [] args)
5. {
6. final int NOMBRE = 25;
7. NOMBRE = 33;
8.
9 . }
10. }
Compilez ce programme. Et vous aurez un message d' erreur qui sera :
cannot assign a value to a final variable NOMBRE
Ce qui veut dire : je ne peux pas attribuer une valeur à une variable final. En effet, une variable déclarée avec le mot clé final est une
constante. DOnc, impossible de changer sa valeur.
Le même message d' erreur sera affiché, même dans le cas ou vous essayez de mettre la
valeur 25 dans la variable NOMBRE. Etonnant ? pas vraiment. Lorsque vous donnez une nouvelle valeur à une variable, cette nouvelle valeur vient
chasser l' ancienne. Ce qui veut dire que l' action de mettre une valeur dans la variable est quand même réalisée. Le compilateur JAVA juge
l' action de vouloir mettre une valeur dans une variable constante. Ce qui, pour lui, est anormal. Le compilateur ne cherche pas à comparer la
nouvelle valeur et l' ancienne.
EXEMPLE 11 :
1. public class Variables11
2. {
3.
4. public static void main (String [] args)
5. {
6. int for = 25;
7.
8.
9 . }
10. }
compilez ce programme et un message d' erreur vous signalera que l' instruction n' en est pas une (not a statement sera affiché.)
Pourquoi ? parce que le nom de la variable est ici un mot clé java. Ce mot (for) est toujours suivi d' une paire de parenthèses. Ce qui n' est pas le cas ici. Donc, le compilateur considère que ce n' est pas une instruction ( a statement). for est un mot clé du langage JAVA. En effet, Un mot-clé est tout simplement un mot qui a été réservé pour une utilisation spéciale par le langage. Vous ne pouvez donc pas employer des mots-clés comme noms de variable, ou nom de classe.
Ces mots sont :
abstract - assert - boolean - break - byte - case - catch - char class - const - continue - default - do - double - else - extends - false - final - finally - float - for - goto - if - implements - import - instanceof - int - interface - long - native - new - null - package - private - protected - public - return - short - static - strictfp - super - switch - synchronized - this - throw - throws - transient - true - try - void - volatile - while
EXEMPLE 12 :
1. public class Variables12
2. {
3.
4. public static void main (String [] args)
5. {
6. int 1nombre = 25;
7.
8.
9 . }
10. }
compilez ce programme et un message d' erreur vous signalera que l' instruction n' en est pas une (not a statement sera affiché.)
pourquoi ? Parce qu' ici le nom de la variable commence par un chiffre. Et ça, le compilateur Java n' aime pas. Le nom d' une variable ou de quoique ce soit d' ailleur en java, ne doit jamais commencer par un nombre.
| précédent | sommaire | accueil | suivant |