Académique Documents
Professionnel Documents
Culture Documents
1 Éléments de base
1. 1 Les commentaires
Java possède trois sortes de commentaires, deux pour les commentaires ordinaires du code
source, et une troisième pour le système particulier de documentation javadoc.
å Le double slash (//) précède les commentaires dans une ligne. Tout le texte situé entre le
double slash et la fin de ligne est ignoré.
p Exemple :
/* ceci est un commentaire
sur plusieurs lignes
... qui se termine ici */
Les commentaires ne s’imbriquent pas ; autrement dit, vous ne pouvez pas placer un
commen- taire à l’intérieur d’un commentaire.
å Enfin, les commentaires spéciaux destinés au système javadoc commencent avec /** et
se terminent par */. Ce polycopié ne traite pas javadoc. Pour obtenir des informations
sur cet outil, consultez la documentation fournie avec le JDK ou la page d’accueil Java
de Sun (http://java.sun.com).
1. 2 Notion de variable
Une variable peut être vue comme un contenant qui a un nom et une taille et définit une case
mémoire typée et nommée, dans laquelle on peut stocker des valeurs.
å Le type détermine la nature d’informations qui sera enregistré, ainsi que les opérations
qui pourront être effectuées sur ces informations.
2
Lorsqu’une variable a été déclarée, on peut lui attribuer une valeur au moyen de l’opérateur
d’affectation (=), de les façons suivantes:
— Taper une valeur après le signe égal : x = 12 ; y = 20 ;
— Affecter la valeur d’une variable à une autre : z = x ;
— Employer une expression combinant les deux : x = y + 3 ;
1. 3 Identificateurs
Les identificateurs sont des noms symboliques permettant de référencer les éléments des
programmes Java (variables, fonctions, ...). Que ce soit pour nommer une variable, vous devez
respecter les règles suivantes :
å Le nom doit commencer par une minuscule, un signe dollar ($) ou un (_) (underscore).
å Le nom ne peut pas contenir:
— d’espaces
— de caractères spéciaux et accentués (é, à, ç, ï, etc..).
å Le nom peut inclure des chiffres, mais ne doit pas commencer par un chiffre.
Exp: nbre1, nbre2.
å Quand une variable est composée de plusieurs mots, tous les mots sauf le premier com-
mencent par une majuscule.
Exp: nombrePlusGrand, vitesseMax, lireNom.
å Java distingue les minuscules et les majuscules (valeur 6= de VALEUR).
å Les mots réservés du langage sont exclus (voir liste à la section suivante).
1. 4 Mots-clé réservés
Les mots suivant sont des mots clés réservés pour le langage et ne peuvent être utilisés.
1 Éléments de base 3
1. 5 Types primitifs
On distingue 4 catégories de types primitifs (entier, réel, booléens, caractères). L’intervalle
de valeurs représentables pour chacun des types peut varier en fonction de l’espace mémoire
qu’ils occupent.
1. 5. 1 Types entiers
En Java, tous les types permettant de représenter des entiers sont signés. Ainsi, sur n bits, on
peut coder les entiers de [−2n−1 2n−1 −1]. Les valeurs négatives sont encodées en complément
à 2. Le tableau suivant résume les types entiers:
p Exemple:
byte x=012;
short x= 32;
short x=33000; // Hors limite
int x=12;
long x= 200;
Lorsque les deux opérandes sont de type entier, l’opérateur / calcule la division entière et l’opé-
rateur calcule le reste de cette division.
4
p Exemple:
int x = 7;
int y = 2;
int z = x / y; // z contient la valeur 3
int t = x % y; // t contient la valeur 1
1. 5. 2 Types réels
En Java il existe deux types de représentation pour les nombres réels : simple et double
précision (respectivement les types float et double).
p Exemple:
float pi= 3.14;// le point joue le rôle de la virgule
double x=45.6459;
Lorsqu’au moins une des opérandes est de type réel, l’opérateur / calcule la division réelle.
p Exemple:
double x = 7;
double y = 2;
double z = x / y; //La variable z contient la valeur 3.5
1. 5. 3 Types booléens
Les valeurs booléens (logiques) ont deux états : vrai ou faux. En Java une telle valeur est
représentée par une variable de type boolean. Deux littéraux seulement peuvent être employés
pour représenter une valeur booléenne : true et false.
p Exemple:
int a = 1, b = 0;
boolean bool = a < b; //bool a la valeur false
boolean c=true;
Les variables de type boolean non initialisées ont automatiquement la valeur false.
1 Éléments de base 5
1. 5. 4 Types caractère
Le type caractère peut correspondre à n’importe quel symbole du clavier (lettre en majuscule
ou minuscule, chiffre, ponctuation et symboles). Comme toute donnée numérique, un caractère
est encodé sous forme d’une suite de 0 et de 1 que l’on peut interpréter comme un entier non
signé.
p Exemple:
char c1=’a’;// ne pas oublier les ’ ’
char c2=’A’;
char c3=14;
char c4 = ’ ’; // espace
p Exemple 1:
int i = 17;
long l=i; // automatique
byte b = i; // interdit
b = (byte)i; // Conversion explicite (int -> byte)
float f = 23.86;
i = (int)f;// Valeur tronquée (i==23)
p Exemple 2:
char A=1; int B=2;
float C = A/B; // 0 affecté à C
float D = (float)A/B; // 0.5 affecté à D
1. 7 Constantes
Les constantes stockent des valeurs simples utiles aux programmes, suivant le principe : ce
que vous tapez, c’est aussi ce que vous obtenez. Le mot clef final indique que la valeur d’une
variable ne doit pas être modifiée pendant l’exécution du programme.
p Exemple:
final double PI = 3.14159;// PI n’est plus modifiable
final int T ;
T = 8;
PI = 3.14; //Erreur : PI est déclarée final
2 Opérateurs et expressions
Dans Java, une expression est la plus simple forme d’une instruction accomplissant quelque
chose. Toutes les expressions, lorsqu’elles sont évaluées, retournent une valeur (les autres ins-
tructions ne le font pas nécessairement).
Les opérations arithmétiques et les tests d’égalité sont des expressions. Une expression retourne
une valeur, qui est attribuée à une variable ou testée dans d’autres instructions.
La plupart des expressions Java utilisent des opérateurs. Les opérateurs sont des symboles spé-
ciaux, pour des opérations arithmétiques, différentes formes d’affectation, des opérations d’in-
crémentation ou de décrémentation, ainsi que pour des opérations logiques.
2. 1 Opérateurs arithmétiques
— Opérateurs : +, -, *, /, % (Modulo =reste de la division entière).
— Effectuent des opérations arithmétiques et retournent des résultats numériques.
— Le type du résultat dépend du type des opérandes (paramètres de l’opération).
8
2. 2 Opérateurs de comparaison
— Opérateurs: == (égal), != (différent), <, >, <=, >=.
— Permettent de comparer deux variables d’un même type primitif (entier, flottant, booléen
et caractère) et retournent une valeur booléenne.
Attention, ne pas confondre l’opérateur d’affectation (=) avec celui d’égalité (==).
— x = 17 : Affecte la valeur 17 à la variable x (x est modifiée).
— x == 17 : Teste la valeur de la variable x, renvoie true si elle vaut 17 et false sinon (x
n’est pas modifiée).
p Exemple:
boolean x= true;
x= (5==5); // x vaut vrai
x= (5!=4); // x vaut vrai
x= (5>5); // x vaut faux
x= (5<=5); // x vaut vrai
2. 3 Opérateurs logiques
— Effectuent des opérations logiques et retournent des résultats booléens.
Opérateur Définition
! NON logique
& ET logique
&& ET logique conditionnel
(le 2 ème opérande n’est évalué que si le 1 er est vrai)
| OU logique
|| OU logique conditionnel
(le 2 ème opérande n’est évalué que si le 1 er est faux)
p Exemple:
boolean a,b, c;
a= true;
b= false;
c= (a && b); // c vaut false
2 Opérateurs et expressions 9
2. 4 Opérateurs d’affectation
L’affectation des variables est une forme d’expression qui retourne une valeur. Aussi est-il
pos- sible de chaîner des variables : x = y = z = 0;
Dans cet exemple, les trois variables prennent la valeur 0.
La partie droite de l’expression d’affectation est toujours évaluée avant l’opération d’affectation.
Une expression comme x = x + 2 est donc traitée ainsi : 2 est ajouté à la valeur de x, puis le
résultat est affecté à x. Ce type d’opération est tellement courant que Java en possède une version
abrégée empruntée à C et C++. Le Tableau suivant liste ces opérateurs d’affectation combinée.
Expression Signification
x += y x=x+y
x -= y x=x-y
x *= y x=x*y
x /= y x=x/y
x %= y x=x%y
x& = y x=x&y
Elles donnent des résultats différents. Quand les opérateurs sont placés après la valeur (x++
ou x- -), y prend la valeur de x avant incrémentation. Avec la notation en préfixe, la valeur de
10
p Exemple:
int m = 1;
m++; //m vaut 2
int n = 2;
int a = 2 * ++m; //a vaut 6, m vaut 3
int b = 2 * n++; //b vaut 4, n vaut 3
int c= ++m + ++m * ++m; // c vaut 4+5*6=34
2. 6 Expressions
Une expression peut être une valeur, une variable ou une opération constituée de variables
reliées par des opérateurs. L’évaluation de l’expression fournit une valeur unique qui est le
résultat de l’opération.
p Exemple:
x = 123.4
(x * 5) / 2
i =0
i++
a=(5*x+10*y)*2
(a+b)>=100
2. 7 Exercice d’application
p Exemple:
å Mettre une variable dans l’argument de la méthode à l’aide de l’opérateur de concaténa-
tion + :
Exp: System.out.println("x vaut " + x + " et y vaut " + y);
å On peut mettre le calcul directement dans l’instruction d’affichage :
Exp: System.out.println("Le produit est : " + x * y);
å Utiliser des parenthéses si le calcul est une addition :
Exp: System.out.println("La somme est : " + (x + y));
p Exemple:
System.out.println("Veuillez saisir un mot :");
Scanner clavier = new Scanner(System.in);
String txt = clavier.nextLine();
System.out.println("Vous avez saisi : " + txt);
Remarque: Il y a un type de variables primitives qui n’est pas pris en compte par la classe
Scanner : il s’agit du type char. Voici comment on pourrait récupérer un caractère :
p Exemple:
System.out.println("Entrer une lettre :");
Scanner clavier = new Scanner(System.in);
String txt = clavier.nextLine();
char carac = txt.charAt(0);
System.out.println("Vous avez saisi le caractère : " + carac);
Nous avons récupéré une chaîne de caractères, puis utilisé une méthode de l’objet String
(ici, charAt(0) ) afin de récupérer le premier caractère saisi.
une fois cette structure créée, le programme est fonctionnel : il peut être compilé et exécuté.
Bien entendu à ce stade, le programme ne fait strictement rien puisqu’il n’y a aucune instruc-
tion, seulement des commentaires.
4. 2 La plate-forme Java
å La plate-forme est le matériel et/ou l’environnement logiciel dans lequel un programme
s’exécute. Elle est composée de deux parties API et JVM, comme illustré dans la figure
(2).
ç API : "Interface pour la programmation d’applications" Ensemble de bibliothèques
permettant une programmation plus aisée car les fonctions deviennent indépendantes
du matériel.
ç JVM (Java Virtual Machine): Le logiciel qui interpréte le byte code généré par le
compilateur Java.
14
1. Création du code source: On crée un document source avec une extension .java (ou-
til :IDE)
2. Compilation:
å En Java, le code source n’est pas traduit directement en langage machine.
å Le compilateur Java traduit le code source en un code intermédiaire appelé byte code
indépendant de la machine.
3. Interprétation:
å La JVM interpréte le byte code généré par le compilateur Java et le traduit en langage
machine et lance son exécution.
— JSE "Java Standard Edition": Fourni les compilateurs, outils et les APIs pour écrire,
déployer et exécuter des applications.
å JRE "Java Runtime Environment"=Environnement d’exécution
— Contient la plate-forme Java (API+JVM).
å JDK "Java Development Kit"=Environnement de programmation
— Contient la JRE;
— Le langage Java pour écrire le code source de votre programme;
— Le compilateur de code source en byte code;
— D’autres outils de base pour le développement d’applications Java;
— La documentation (javadoc).