Ce deuxième petit exemple permet de rencontrer des variables, de définir ce qu'est une affectation, de faire une somme. Nous en présentons deux formes.
public class Addition {
public static void main(String[] arg) {
int a;
int b;
int somme;
a = 2;
b = 3;
somme = a + b;
System.out.println("a = " + a + ", b = " + b);
System.out.println("La somme vaut " + somme);
}
}
On obtient à l'exécution, avec notre
programme :
a = 2, b = 3
Ici, il y a trois variables dites variables locales de la
méthode main : les variables a,
b et somme. À
chaque variable correspond un emplacement en mémoire qui
occupe un certain nombre d'octets, selon son type. Nos trois variables
sont ici déclarées de type int
; une variable de type int est
codée sur quatre octets
dans la mémoire de l'ordinateur. On peut mettre dans une
telle variable des entiers compris entre -(2 puissance 15) =
-2147483648 et (2 puissance 31) -1 = 2147483647. Toute variable doit
être déclarée avant d'être
utilisée, comme nous le faisons ici : le type de la
variable, suivi de son nom, suivi d'un ";".
La somme vaut 5
Pour mettre une valeur dans une variable, on utilise une
opération qui s'appelle l'affectation et qui utilise le
signe = ; l'instruction :
a = 2;
est une affectation. Elle ne signifie pas la variable a
vaut 2. Cette instruction demande à ce que la valeur de la
variable qui figure dans le premier membre devienne égale
à celle qui figure dans le second membre ; on affecte
à a la valeur du second membre,
c'est-à-dire ici la valeur 2..
L'instruction :
somme = a + b;
additionne les valeurs des variables a et b
et met le résultat dans la variable somme.
Observons maintenant l'instruction :
System.out.println("a
= " + a + ", b = " + b);
Elle écrit à l'écran :
a = 2, b = 3
"a = " est ce qu'on appelle une chaîne
de caractères. Le signe + utilisé ici fait une concaténation
entre la chaîne de caractères "a = "
et la chaîne de caractères donnant la valeur de a,
ici la chaîne de caractès "2" ; dès
qu'un signe + a un opérande (à sa gauche ou
à sa droite) qui est une chaîne de
caractères (ici "a = "), alors il s'agit de
l'opérateur de concaténation ; l'autre
opérande est toujours alors traduit en une chaîne
de caractères ; la concaténation se fait de la
gauche vers la droite, d'où le résultat obtenu
à l'écran par l'instruction.
Pour accéder directement au programme. Nous vous conseillons de copier ce programme et de faire des varaintes pour mieux comprendre ce qui se passe.
public class AdditionBis {
public static void main(String[] arg) {
int a;
int b;
int somme;
a = Integer.parseInt(arg[0]);
b = Integer.parseInt(arg[1]);
somme = a + b;
System.out.println("a = " + a + ", b = " + b);
System.out.println("La somme vaut " + somme);
}
}
arg[0] est le premier élément du tableau arg qui figure dans l'en-tête la méthode main ; arg étant un tableau d'objets de type String, arg[0] est de type String.
Si on utilise des arguments de la méthode main
comme ici, il convient d'envoyer les arguments à la
méthode main au moment de l'exécution ;
ces argument sont récupérés dans le
programme avec arg[0], arg[1],
...
Si on travaille avec Eclipse, il faut donner les arguments avant
d'exécuter le programme (en utilisant, si votre version
d'Eclipse est en anglais, "Run Configurations", puis en choisissant
l'onglet Arguments pour préciser les arguments dans "Program
arg"). Pour additionner avec notre programme les entiers 7 et 15, il
faut indiquer les arguments 7 et 15.
Si on exécute le programme en utilisant directement la
commande java, pour additionner les entiers 7 et 15, on utilise la
commande :
java AdditionBis 7 15
Si on donne les arguments 7 et 15, la sortie du programme est
:
a = 7, b = 15
La somme vaut 22
octet : un octet est composé de huit bits ; chaque bit peut prendre la valeur 0 ou la valeur 1.