Computing">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
4 vues49 pages

Introduction à la syntaxe Java

Le document présente la syntaxe du langage Java, y compris les commentaires, les instructions, et la structure de base d'un programme avec la méthode main. Il aborde également les types de données, les identificateurs, les mots réservés, et les structures de contrôle comme if, while, et for. Des exemples de code illustrent les concepts, ainsi que des explications sur la compilation et l'exécution des programmes Java.

Transféré par

tahraoui.wadoud
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues49 pages

Introduction à la syntaxe Java

Le document présente la syntaxe du langage Java, y compris les commentaires, les instructions, et la structure de base d'un programme avec la méthode main. Il aborde également les types de données, les identificateurs, les mots réservés, et les structures de contrôle comme if, while, et for. Des exemples de code illustrent les concepts, ainsi que des explications sur la compilation et l'exécution des programmes Java.

Transféré par

tahraoui.wadoud
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

Syntaxe du langage Java

Les commentaires
 /* commentaire sur une ou plusieurs lignes */
 Identiques à ceux existant dans le langage C
 // commentaire de fin de ligne
 Identiques à ceux existant en C++
 /** commentaire d'explication */
 Les commentaires d'explication se placent
généralement juste avant une déclaration
(d'attribut ou de méthode)
 Ils sont récupérés par l'utilitaire javadoc et
inclus dans la documentation ainsi générée.

2
Instructions, blocs et blancs
 Les instructions Java se terminent par un
;
 Les blocs sont délimités par :
{ pour le début de bloc
} pour la fin du bloc
Un bloc permet de définir un regroupement
d’instructions. La définition d’une classe ou
d’une méthode se fait dans un bloc.
 Les espaces, tabulations, sauts de ligne
sont autorisés. Cela permet de présenter
un code plus lisible.
3
Point d’entrée d’un programme Java
 Pour pouvoir faire un programme
exécutable il faut toujours une classe qui
contienne une méthode particulière, la
méthode « main »
 c’est le point d’entrée dans le programme : le
microprocesseur sait qu’il va commencer à
exécuter les instructions à partir de cet endroit
public static void main(String arg[ ])
{
…/…
}

4
Exemple (1)

La classe est l’unité de


Fichier [Link] base de nos programmes.
Le mot clé en Java pour
public class Bonjour définir une classe est
class
{ //Accolade débutant la classe Bonjour
public static void main(String args[])
{ //Accolade débutant la méthode main
/* Pour l’instant juste une instruction */
[Link](“bonjour”);
} //Accolade fermant la méthode main
} //Accolade fermant la classe Bonjour

5
Exemple (2)

Fichier [Link] Accolades délimitant le


début et la fin de la définition
de la class Bonjour
public class Bonjour
{
public static void main(String args[])
{
Accolades délimitant le début
[Link](“bonjour”); et la fin de la méthode main

}
} Les instructions se terminent
par des ;

6
Exemple (3)

Fichier [Link] Une méthode peut recevoir


des paramètres. Ici la méthode
public class Bonjour main reçoit le paramètre args
qui est un tableau de chaîne
{ de caractères.

public static void main(String args[])


{
[Link](“bonjour”);
}
}

7
Compilation et exécution (1)

Le nom du fichier est nécessairement


Fichier [Link] celui de la classe avec l’extension
.java en plus. Java est sensible à la
casse des lettres.
Compilation en bytecode
java dans une console DOS:
javac [Link] public class Bonjour
Génère un fichier
[Link] {
Exécution du programme
(toujours depuis la console public static void main(String[] args)
DOS) sur la JVM :
java Bonjour {
Affichage de « bonjour »
dans la console [Link](“bonjour”);
}
}
8
Compilation et exécution (3)
 Pour résumer, dans une console DOS, si j’ai un
fichier [Link] pour la classe Bonjour :
 javac [Link]
 Compilation en bytecode java
 Indication des erreurs de syntaxe éventuelles
 Génération d’un fichier [Link] si pas d’erreurs
 java Bonjour
 Java est la machine virtuelle
 Exécution du bytecode
 Nécessité de la méthode main, qui est le point d’entrée
dans le programme

9
Identificateurs (1)
 On a besoin de nommer les classes, les
variables, les constantes, etc. ; on parle
d’identificateur.
 Les identificateurs commencent par
une lettre, _ ou $
Attention : Java distingue les majuscules des
minuscules
 Conventions sur les identificateurs :
 Si plusieurs mots sont accolés, mettre une
majuscule à chacun des mots sauf le premier.
 exemple : uneVariableEntiere
 La première lettre est majuscule pour les classes
et les interfaces
 exemples : MaClasse, UneJolieFenetre
10
Identificateurs (2)

 Conventions sur les


identificateurs :
 La première lettre est minuscule pour
les méthodes, les attributs et les
variables
 exemples : setLongueur, i, uneFenetre
 Les constantes sont entièrement en
majuscules
 exemple : LONGUEUR_MAX

11
Les mots réservés de Java
abstract default goto null synchronized

boolean do if package this

break double implements private throw

byte else import protected throws

case extends instanceof public transient

catch false int return true

char final interface short try

class finally long static void

continue float native super volatile

const for new switch while

12
Les types de bases (1)
 En Java, tout est objet sauf les types de base.
 Il y a huit types de base :
 un type booléen pour représenter les variables ne pouvant prendre
que 2 valeurs (vrai et faux, 0 ou 1, etc.) : boolean avec les valeurs
associées true et false
 un type pour représenter les caractères : char
 quatre types pour représenter les entiers de divers taille : byte,
short, int et long
 deux types pour représenter les réelles : float et double
 La taille nécessaire au stockage de ces types est
indépendante de la machine.
 Avantage : portabilité
 Inconvénient : "conversions" coûteuses

13
Les types de bases (2) : les entiers
 Les entiers (avec signe)
 byte : codé sur 8 bits, peuvent représenter
des entiers allant de -27 à 27 –1 (-128 à
+127)
 short : codé sur 16 bits, peuvent
représenter des entiers allant de -215 à
215 –1
 int : codé sur 32 bits, peuvent représenter
des entiers allant de -231 à 231 –1
 long : codé sur 64 bits, peuvent
représenter des entiers allant de -263 à 263 –
1
14
Les types de bases (3) : les entiers
 Opérations sur les entiers
 opérateurs arithmétiques +, -, *
 / :division entière si les 2 arguments sont des
entiers
 % : reste de la division entière

 exemples d’opérations:
 15 / 4 donne 3
 15 % 2 donne 1

15
Les types de bases (4) : les entiers
 Opérations sur les entiers (suite)
 les opérateurs d’incrémentation ++
et de décrémentation et --
 ajoute ou retranche 1 à une variable
int n = 12;
n ++; //Maintenant n vaut 13
 n++; « équivalent à » n = n+1;
n--; « équivalent à » n = n-1;
 8++; est une instruction illégale
 peut s’utiliser de manière suffixée : ++n. La différence avec
la version préfixée se voit quand on les utilisent dans les
expressions.
En version suffixée la (dé/inc)rémentation s’effectue en
premier int m=7; int n=7;
int a=2 * ++m; //a vaut 16, m vaut 8
int b=2 * n++; //b vaut 14, n vaut 8

16
Les types de bases (5) : les réels

 Les réels
 float : codé sur 32 bits, peuvent
représenter des nombres allant de -
1035 à + 1035
 double : codé sur 64 bits, peuvent
représenter des nombres allant de -
10400 à +10400

17
Les types de bases (6) : les réels
 Les opérateurs
 opérateurs classiques +, -, *, /
 attention pour la division :
 15 / 4 donne 3 division entière
 15 % 2 donne 1
 11.0 / 4 donne 2.75
(si l’un des termes de la division est un
réel, la division retournera un réel).
 puissance : utilisation de la méthode
pow de la classe Math.
 double y = [Link](x, a) équivalent à
x^a, x et a étant de type double

18 P.O.O Java B.M


Les types de bases (7) : les booléens
 Les booléens
 boolean
contient soit vrai (true) soit faux (false)
 Les
opérateurs logiques de
comparaisons
 Egalité : opérateur ==
 Différence : opérateur !=
 supérieur et inférieur strictement à :
opérateurs > et <
 supérieur et inférieur ou égal :
opérateurs >= et <=

19 P.O.O Java B.M


Les types de bases (8) : les booléens
 Notation
boolean x;
x= true;
x= false;
x= (5==5); // l ’expression (5==5) est évaluée et
la valeur est affectée à x qui vaut alors vrai
x= (5!=4); // x vaut vrai, ici on obtient vrai si 5 est différent
de 4
x= (5>5); // x vaut faux, 5 n'est pas supérieur strictement à 5
x= (5<=5); // x vaut vrai, 5 est bien inférieur ou égal à 5

20 P.O.O Java B.M


Les types de bases (9) : les booléens
 Les autres opérateurs logiques
 et logique : &&
 ou logique : ||
 non logique : !
 Exemples : si a et b sont 2 variables
booléennes
boolean a,b, c;
a= true;
b= false;
c= (a && b); // c vaut false
c= (a || b); // c vaut true
c= !(a && b); // c vaut true
c=!a; // c vaut false
21 P.O.O Java B.M
Les types de bases (10) : les
caractères
 Les caractères
 char : contient une seule lettre
 le type char désigne des caractères en
représentation Unicode
 Codage sur 2 octets contrairement à
ASCII/ANSI codé sur 1 octet. Le codage
ASCII/ANSI est un sous-ensemble d’Unicode
 Plus d’information sur Unicode à :
[Link]

22 P.O.O Java B.M


Les types de bases (11) : les
caractères

 Notation
char a,b,c; // a,b et c sont des variables du type
char
a='a'; // a contient la lettre 'a'
b= '\u0022' //b contient le caractère guillemet : "
c=97; // x contient le caractère de rang 97 : 'a'

23 P.O.O Java B.M


Les types de bases (12)
exemple et remarque

int x = 0, y = 0;
float z = 3.1415;
double w = 3.1415;
long t = 99L;
boolean test = true;
char c = 'a';

 Remarque importante :
 Java exige que toutes les variables soient
définies et initialisées. Le compilateur sait
déterminer si une variable est susceptible
d'être utilisée avant initialisation et
produit une erreur de compilation.
24 P.O.O Java B.M
Les structures de contrôles (1)
 Lesstructures de contrôle
classiques existent en Java :
 if,else
 switch, case, default, break
 for
 while
 do, while

25 P.O.O Java B.M


Les structures de contrôles (2) : if /
else
 Instructions conditionnelles
 Effectuer une ou plusieurs instructions seulement
si une certaine condition est vraie
if (condition) instruction;
et plus généralement : if (condition)
{ bloc d’instructions}
condition doit être un booléen ou renvoyer une valeur
booléenne
 Effectuer une ou plusieurs instructions si une
certaine condition est vérifiée sinon effectuer
d’autres instructions
if (condition) instruction1; else instruction2;
et plus généralement if (condition) { 1er bloc
d’instructions} else {2ème bloc d’instruction}
26 P.O.O Java B.M
Les structures de contrôles (3) : if /
else

[Link]

import [Link].*;

public class Max


{
public static void main(String args[])
{
Console console = [Link]();
int nb1 = [Link]([Link]("Entrer un entier:"));
int nb2 = [Link]([Link]("Entrer un autre entier:"));
if (nb1 > nb2)
[Link]("l'entier le plus grand est "+ nb1);
else
[Link]("l'entier le plus grand est "+ nb2);
}
}

27 P.O.O Java B.M


Les structures de contrôles (4) : while
 Boucles indéterminées
 On veut répéter une ou plusieurs instructions un
nombre indéterminés de fois : on répète
l’instruction ou le bloc d’instruction tant que une
certaine condition reste vraie
 nous avons en Java une première boucle while
(tant que)
 while (condition) {bloc d’instructions}
 les instructions dans le bloc sont répétées tant
que la condition reste vraie.
 On ne rentre jamais dans la boucle si la
condition est fausse dès le départ

28 P.O.O Java B.M


Les structures de contrôles (5) : while

 Boucles indéterminées
 un autre type de boucle avec le while:
 do {bloc d’instructions} while (condition)
 les instructions dans le bloc sont répétées
tant que la condition reste vraie.
 On rentre toujours au moins une fois dans
la boucle : la condition est testée en fin de
boucle.

29 P.O.O Java B.M


Les structures de contrôles (6) : while
[Link]

import [Link].*;

public class Facto1


{
public static void main(String args[])
{
int n, result,i;
n = [Link]([Link]().readLine("Entrer une valeur pour n:"));
result = 1; i = n;
while (i > 1)
{
result = result * i;
i--;
}
[Link]("la factorielle de "+n+" vaut "+result);
}
}

30 P.O.O Java B.M


Les structures de contrôles (7) : for

 Boucles déterminées
 On veut répéter une ou plusieurs instructions un
nombre déterminés de fois : on répète l’instruction ou
le bloc d’instructions pour un certain nombre de pas.
 La boucle for
for (int i = 1; i <= 10; i++)
[Link](i); //affichage des nombres de 1 à 10
 une boucle for est en fait équivalente à une boucle
while
for (instruction1; expression1; expression2) {bloc}
… est équivalent à …
instruction 1; while (expression1) {bloc; expression2}}

31 P.O.O Java B.M


Les structures de contrôles (8) : for
[Link]

import [Link].*;

public class Facto2


{
public static void main(String args[])
{
int n, result,i;
n = [Link]([Link]().readLine("Entrer une valeur pour n:"));
result = 1;
for(i =n; i > 1; i--)
{
result = result * i;
}
[Link]("la factorielle de "+n+" vaut "+result);
}
}

32 P.O.O Java B.M


Les structures de contrôles (9) : switch

 Sélection multiples
 l’utilisation de if / else peut s’avérer lourde quand
on doit traiter plusieurs sélections et de multiples
alternatives
 pour cela existe en Java le switch / case assez
identique à celui de C/C++
 La valeur sur laquelle on teste doit être un char ou
un entier (à l’exclusion d’un long).
 L’exécution des instructions correspondant à une
alternative commence au niveau du case
correspondant et se termine à la rencontre d’une
instruction break ou arrivée à la fin du switch

33 P.O.O Java B.M


Les structures de contrôles (10) :
switch

[Link]

import [Link].*; Variable contenant la valeur


que l’on veut tester.
public class Alternative
{ Première alternative :
public static void main(String args[]) on affiche Un et on sort
{ du bloc du switch au break;
int nb = [Link]([Link]().readLine("Entrer une valeur pour n:"));
switch(nb)
{ Deuxième alternative :
case 1: on affiche Deux et on sort
[Link]("Un"); break; du bloc du switch au break;
case 2:
[Link]("Deux"); break;
default:
[Link]("Autre nombre"); break; Alternative par défaut:
} on réalise une action
} par défaut.
34 } P.O.O Java B.M
Les tableaux (1)
 Les tableaux permettent de stocker plusieurs
valeurs de même type dans une variable.
 Les valeurs contenues dans la variable sont
repérées par un indice
 En langage java, les tableaux sont des objets
 Déclaration
 int tab [ ];
String chaines[ ];
 Création d'un tableau
 tab = new int [20]; // tableau de 20 int
 chaines = new String [100]; // tableau de 100 chaine

35 P.O.O Java B.M


Les tableaux (2)
 Le nombre d'éléments du tableau est
mémorisé. Java peut ainsi détecter à
l'exécution le dépassement d'indice et
générer une exception. Mot clé length
 Il est récupérable par [Link]
int taille = [Link]; //taille vaut 20
 Comme en C/C++, les indices d’un tableau
commencent à ‘ 0 ’. Donc un tableau de taille
100 aura ses indices qui iront de 0 à 99.

36 P.O.O Java B.M


Les tableaux (3)

 Initialisation
tab[0]=1;
tab[1]=2; //etc.
noms[0] = new String( "Boule");
noms[1] = new String( "Bill");//etc
 Création et initialisation simultanées
String noms [ ] = {"Boule","Bill"};
Point pts[ ] = { new Point (0, 0), new Point (10, -1)};

37 P.O.O Java B.M


Les tableaux (4)

[Link]
public class Tab1
{
public static void main (String args[])
{
Pour déclarer une variable tableau
int tab[ ] ;
on indique le type des éléments du
tab = new int[4];
tableau et le nom de la variable
tab[0]=5;
tableau suivi de [ ]
tab[1]=3;
tab[2]=7;
tab[3]=tab[0]+tab[1]; on utilise new <type> [taille];
} pour initialiser le tableau
}
On peut ensuite affecter
des valeurs au
différentes cases du
Les indices vont toujours
tableau :
de 0 à (taille-1)
<nom_tableau>[indice]
38 P.O.O Java B.M
Les tableaux (5)

[Link] Mémoire
public class Tab1
{
public static void main (String args[])
{
int tab[ ] ; 0x0000
0x258
tab = new int[4];
tab[0]=5; 0
tab[1]=3; 0
tab[2]=7; 0
tab[3]=tab[0]+tab[1]; 0
}
}

39 P.O.O Java B.M


Les tableaux (6)

[Link]
Mémoire
public class Tab1
{
public static void main (String args[])
{ 0x258
int tab[ ] ;
tab = new int[4];
tab[0]=5; 5
0
tab[1]=3; 0
3
tab[2]=7; 0
7
tab[3]=tab[0]+tab[1]; 0
8
}
}

40 P.O.O Java B.M


Les tableaux (7)

[Link] Mémoire
public class Tab2
{
0x0258
public static void main (String args[])
{
String tab[ ] ; 0x0106
tab = new String[4]; 0x0116
tab[0]=new String("Pierre"); 0x0126
tab[1]=new String("Paul"); 0x0136
tab[2]=new String("Jacques");
tab[3]=new String("Philippe");
}
"Pierre"
}
"Paul"
"Jacques"
"Philippe"

41 P.O.O Java B.M


La classe String (1)

 Attention ce n’est pas un type de base. Il s'agit


d'une classe défini dans l’API Java (Dans le
package [Link])
String s="aaa"; // s contient la chaîne "aaa" mais
String s=new String("aaa"); // identique à la ligne précédente
 La concaténation
 l’opérateur + entre 2 String les concatène :
String str1 = "Bonjour ! ";
String str2 = null;
str2 = "Comment vas-tu ?";
String str3 = str1 + str2; / * Concaténation de chaînes : str3
contient " Bonjour ! Comment vas-tu ?"

42 P.O.O Java B.M


Différences entre objets et types de
base

Mémoire
3
int x=3,y=3;
x == y est vrai 3

0x768
0x852

String s1="abc",s2="abc"; Abc


s1 == s2 est faux... ....

Quand on compare 2 variables d’un type de base


on compare leur valeur. Quand on compare 2 objet
Abc
avec les opérateurs on compare leur référence (leur
....
adresse en mémoire). Introduction de la méthode
equals() pour les objets : [Link](s2) est vrai

43 P.O.O Java B.M


La classe String (2)

 Longueur d’un objet String :


 méthode int length() : renvoie la longueur de la chaîne
String str1 = "bonjour";
int n = [Link](); // n vaut 7
 Sous-chaînes
 méthode String substring(int debut, int fin)
 extraction de la sous-chaine depuis la position debut
jusqu’à la position fin non-comprise.
String str2 = [Link](0,3); // str2 contient la valeur "bon"
 le premier caractère d’une chaîne occupe la position 0
 le deuxième paramètre de substring indique la position
du premier caractère que l ’on ne souhaite pas copier

44 P.O.O Java B.M


La classe String (3)

 Récupération d’un caractère dans une chaîne


 méthode char charAt(int pos) : renvoie le caractère
situé à la position pos dans la chaîne de caractère à
laquelle on envoie se message
String str1 = "bonjour";
char unJ = [Link](3); // unJ contient le caractère 'j'
 Modification des objets String
 Les String sont inaltérables en Java : on ne peut
modifier individuellement les caractères d’une
chaîne.
 Par contre il est possible de modifier le contenu de
la variable contenant la chaîne (la variable ne
référence plus la même chaîne).
str1 = [Link](0,3) + " soir"; /* str1 contient
maintenant la chaîne "bonsoir" */

45 P.O.O Java B.M


La classe String (4)

 Les chaînes de caractères sont des objets :


 pour tester si 2 chaînes sont égales il faut utiliser la
méthode boolean equals(String str) et non ==
 pour tester si 2 chaînes sont égales à la casse près il
faut utiliser la méthode boolean
equalsIgnoreCase(String str)
String str1 = "BonJour";
String str2 = "bonjour"; String str3 = "bonjour";
boolean a, b, c, d;
a = [Link]("BonJour"); //a contient la valeur true
b = (str2 = = str3); //b contient la valeur false
c = [Link](str2);//c contient la valeur true
d = "bonjour".equals(str2); //d contient la valeur true
46 P.O.O Java B.M
La classe String (5)

 Quelques autres méthodes utiles


 boolean startsWith(String str) : pour tester si
une chaine de caractère commence par la
chaine de caractère str
 boolean endsWith(String str) : pour tester si
une chaîne de caractère se termine par la
chaine de caractère str
String str1 = "bonjour ";
boolean a = [Link]("bon");//a vaut true
boolean b = [Link]("jour");//b vaut true

47 P.O.O Java B.M


La classe String (7)

Plus d’informations
dans les
documentations
de l’API dans le
package
[Link]

48 P.O.O Java B.M


La classe Math

 Les fonctions mathématiques les plus connues


sont regroupées dans la classe Math qui
appartient au package [Link]
 les fonctions trigonométriques
 les fonctions d’arrondi, de valeur absolue, ...
 la racine carrée, la puissance, l’exponentiel, le
logarithme, etc.
 Ce sont des méthodes de classe (static)
double calcul = [Link] ([Link](5,2) +
[Link](7,2));
double sqrt(double x) : racine carrée de x
double pow(double x, double y) : x puissance y

49 P.O.O Java B.M

Vous aimerez peut-être aussi