Vous êtes sur la page 1sur 16

Cours de Java

Introduction : Java est une technologie qui est la fois un langage de programmation purement oriente objet et une plate-forme dexcution. Le langage Java a la particularit principale dtre portable sur plusieurs plates-formes (matriels et systmes dexploitation). Le langage Java fut officiellement prsent 1995 par Sun. Le langage reprend en grande partie la syntaxe des langages C et C++, trs utiliss par les informaticiens. En Java, tout est objet lexception des types primitifs (nombres entiers, rels, caractres, etc.). Le langage Java permet de dvelopper des applications autonomes et aussi des applications client-serveur. Ct client, les applets sont lorigine de la notorit du langage. Cest surtout ct serveur que Java sest impos dans le milieu de lentreprise grce aux servlets et aux JSP (Java Server Pages). Les applications Java peuvent tre excutes sur tous les systmes dexploitation pour lesquels a t dveloppe une plateforme Java, dont le nom technique est JRE (Java Runtime Environment : Environnement dxcution Java). Le JRE est constitu : - dune JVM (Java Virtual Machine : Machine Virtuelle Java) qui interprte le code compil de Java (appel bytecode). - dune bibliothque standard partir de laquelle doivent tre dvelopps tous les programmes en Java.

Historique
1995 : lancement officiel de Java 1.0 1996 : lancement du JDK 1.0 et des versions 1.01 et 1.02 de Java (250 classes dans la bibliothque). 1998 : version 1.1 du JDK (500 classes). 1999 : version 1.2 JDK que lon appelle Java2 (1500 classes) 2000 : version de J2SE (Java 2 Standard Edition) 1.3 (1800 classes) 2002 : version de J2SE (Java 2 Standard Edition) 1.4 (2700 classes). 2003 : version de J2EE (Java 2 Entreprise Edition) 1.4. 2004 : version du J2SE 1.5 appel J2SE 5.0 ou Java 5 (3500 classes). 2006 : version du J2SE 1.6 appel J2SE 6.0 ou Java 6.

Java et la programmation oriente objet


Le concept dobjets En programmation imprative (comme en langage C), un programme est form de procdures et structures de donnes gnralement indpendantes des procdures. En programmation oriente objets, on met en uvre diffrents objets. Chaque objet associe des donnes et des mthodes agissant exclusivement sur les donnes de lobjet. On parle de mthodes plutt que de procdures ou fonctions. On utilise aussi le mot attribut pour les variables associes lobjet. Lencapsulation de donnes : il nest pas possible dagir directement sur les donnes dun objet, il est ncessaire de passer par des mthodes associes lobjet. Ces mthodes jouent le rle dinterface obligatoire. Lappel dune mthode peut tre vu comme lenvoi dun message un objet. Vu de lextrieur, un objet se caractrise uniquement par ses spcifications (attributs) et ses mthodes (comportement). La notion de classe : elle gnralise la notion de type de donne en POO, elle permet de dcrire un ensemble dobjets ayant une structure de donnes et un comportement communs. Les objets apparaissent comme des variables dun type de classe donne, on parle dinstances de classe. La notion dhritage. Lhritage permet de dfinir une nouvelle classe partir dune autre. On rutilise cette dernire en bloc et on lui ajoute de nouvelles fonctionnalits. La nouvelle classe hrite (rcupre) toutes les proprits et aptitudes de lancienne. Il est ainsi possible de sappuyer sur des ralisations antrieures parfaitement au point et les spcifier volont. Ceci facilite donc la rutilisation de code ou de logiciel dj existant. La programmation objet facilite normment la ralisation dinterfaces graphiques. Chaque lment de linterface est vu comme un objet, par exemple un objet fentre, des objets boutons, un objet ascenseur, etc.

Structure dun programme JAVA


Un fichier source porte lextension .java et contient la dfinition de classe. La dfinition dune classe est dfinie par 2 accolades.
public class NomClasse{ //code de la classe JAVA }

Une classe contient une ou plusieurs mthodes. Par exemple dans la classe Chien, la mthode aboyer() va contenir des instructions spcifiant la facon dont un chien aboie. Les mthodes sont obligatoirement dclares dans une classe. Excution dun programme Java Source Compilation Excution On cre un document On compile le(s) fichier(s) source(s) Lexcution est lance en source avec une avec le programme javac, par utilisant le programme java extension .java, par exemple javac Toto.java. Si la avec le nom du fichier exemple Toto.java compilation a russi, un fichier principal du programme .class Toto.class est cr, ce fichier sans lextension .class. Par est constitu de byte-code. exemple java Toto. La machine virtuelle Un programme sexcute en lanant la JVM sur le fichier principal (Toto.class). Ce fichier contient du byte code et la JVM traduit ce byte code en code machine comprhensible par la plateforme sous-jacente et excute le programme. Lorsque la JVM dmarre elle cherche la classe spcifie lexcution, puis elle recherche une mthode spciale la mthode main qui ressemble exactement ceci :
public static void main(String [] args) { //le code de la mthode main }

La JVM excute ensuite tout ce qui se trouve entre les accolades { } de la mthode main. La mthode main Toute application java a au moins une mthode main. Attention, pas une par classe, mais au moins une par application. La mthode main correspond lendroit o le programme commence sexcuter. Voici un exemple de programme complet :
public class PremierExemple{ public static void main(String [] args) { System.out.println("Bonjour tous"); System.out.println("Cest mon premier exemple de classe en java"); } }

1. Enregistrement de la classe dans le fichier PremierExemple.java 2. Compilation : javac PremiereExemple.java 3. Excution du programme : java PremiereExemple 4. Le rsultat du programme :
Bonjour tous Cest mon premier exemple de classe en java

Types, expressions et structures de contrle fondamentales


Les types primitifs Ils servent dfinir les champs (attributs) de toutes les classes que vous pourrez dfinir, ainsi que les variables que vous pourrez utiliser dans les diffrentes mthodes. Attention, les types primitifs ne sont pas des classes. La notion de type La mmoire centrale est un ensemble de positions binaires appeles. Ces bits sont regroups en octets, un octet correspondant 8 bits. Les ordinateurs (actuels) ne savent reprsenter et traiter que des informations reprsentes sous forme binaire. Il est donc ncessaire de savoir comment une information a t code pour pouvoir attribuer une signification une suite de bits dun emplacement de la mmoire. Il existe 4 catgories de type primitif en JAVA : nombres entiers nombres flottants caractres boolens Le type entier Il sert reprsenter les nombres entiers relatifs. Il existe quatre sortes dentier permettant de reprsenter des valeurs diffrentes. Le tableau suivant dcrit chacun de ces types avec le nom du type, la taille occupe en mmoire en octets, la valeur minimale et la valeur maximale possible avec la constante correspondante dans le langage. Nom
byte short int long

Taille
1 2 4 8

Valeur minimale
-128 : Byte.MIN_VALUE -32768 : Short.MIN_VALUE -2,147,483,648 : Integer.MIN_VALUE Long.MIN_VALUE

Valeur maximale
127 : Byte.MAX_VALUE 32767 : Short.MAX_VALUE Integer.MAX_VALUE Long.MAX_VALUE

Les constantes peuvent scrire sous forme dcimale (548, -78, +5), ou sous forme hexadcimale en prcisant la valeur de 0x ou 0x (0x1A 0X12), ou octale en faisant prcder la valeur de 0 (032, 05). Une constante entire est forcment de lun des types int ou long. On peut forcer une constante tre du type long en faisant suivre sa valeur de la lettre l ou L, exemple 25L. Le compilateur rejettera toute constante ayant une valeur suprieure la capacit du type long. Les flottants/rels (float ou double) Il en existe deux sortes. Le tableau suivant dcrit chacun deux avec leur nom, la taille occupe en mmoire en octets, la prcision correspondant au nombre de chiffres significatifs pris en compte dans la partie dcimale, la valeur minimale et la valeur maximale possible avec la constante correspondante dans le langage. Nom
float double

Taille
4 8

Prcision
7 15

1.402390461045 Float.MIN_VALUE Double.MIN_VALUE

Valeur absolue minimale

Valeur absolue maximale


Float.MAX_VALUE Double.MAX_VALUE

Pour les constantes, il existe deux notations : la notation dcimale : 12.43 -0.38 -.38 4. .27 la notation exponentielle : 4.25E4 ou 4.25e+4 pour 4.25 104 54.2e-32 pour 54.2 1032 48e13 pour 48 1013 Par dfaut toutes les constantes cres sont de type double, pour forcer avoir un type float on fait suivre la valeur de la lettre f, exemple : 12.5f Le type caractre (char) Les caractres, dsigns par le type char, sont cods sur 2 octets, notation dune constante caractre : a, B, , +. Exemple
char lettre=a;

Certains caractres avec notation spciale (squences dchappement) : \b : pour le retour arrire (backspace) \r : pour un retour chariot \t : pour une tabulation \" : pour un guillemet \n : pour un saut de ligne \ : pour une apostrophe \f : pour un saut de page \\ : pour le caractre \. Le type boolen (boolean) Il sert reprsenter une valeur logique de type vrai ou faux, il existe deux valeurs possibles pour un boolen en java : true et false (pour vrai et faux). Exemple :
boolean estOrdonne=false;

En JAVA, les valeurs logiques ne sont pas reprsentes par des valeurs mais par un type spcifique : le type boolean. Dclaration de variables : Syntaxe : <type> <nomVariable> ; Exemple :
int age, num ; float moyenne ; char sexe ;

En JAVA, les dclarations peuvent apparatre nimporte quel endroit du programme. Dun point de vue mthodologique, il est souvent conseill deffectuer la dclaration de toutes les variables (importantes) ensembles au dbut puis de les initialiser avant de les utiliser. Remarque : Les variables nayant pas reu de valeur ne peuvent pas tre utilises sous peine daboutir une erreur de compilation. Il est donc important de penser initialiser les variables ds leur cration. Initialisation de variables : Syntaxe : <type> <nomVariable> = <valaurInitiale>; Exemple :
int age=18 ; char sexe=f ;

Dclaration des constantes : Le mot cl final Pour indiquer quune variable ne peut pas tre modifie pendant lexcution dun programme, on peut utiliser le mot cl final :
final int nombreDeMois=12 ;

Toute modification de la constante nombreDeMois, ayant 12, est rejete par le compilateur.

Oprateurs et expressions
Oprateurs arithmtiques Il existe cinq oprateurs principaux : + : addition a+b - : soustraction a-b / : division a/b * : multiplication a*b % : modulo, a % b calcule le reste de la division de a par b. Le problme de la conversion de type : float x, res ; int n, p ; res=n*x+p ; La variable n tant de type int, x de type float, le compilateur converti n en float puis faire le calcul. Le rsultat final est alors de type float. La hirarchie de conversion permettant de ne pas modifier la valeur initiale : int long float double. Remarque: par dfaut, pour les types byte, char, short, si un de ces types apparat dans une expression, la valeur est dabord convertie en int. Oprateurs de comparaison Ils servent faire des comparaisons relatives et sont principalement utiliss dans les tests conditionnels. < : infrieur strictement >= : suprieur ou gal <= : infrieur ou gal == : gal > : suprieur ! = : diffrent de. Oprateurs logiques Ces oprateurs permettent de manipuler des valeurs logiques. ! : ngation && : ET logique || : OU logique (a < b) && (c < d): cette expression retourne la valeur true (vrai) si les deux expressions a < b et c < d sont toutes les deux vraies, la valeur false (faux) dans le cas contraire. (a < b) || (c < d) : retourne la valeur true si lune au moins des deux conditions a < b ou c < d est vraie, la valeur false dans le cas contraire. !(a < b) retourne la valeur true si la condition a < b est fausse, la valeur false dans le cas contraire. Cette expression possde en fait la mme valeur que a >= b.

Oprateurs daffectation Loprateur daffectation est not : = Exemples : c=b+3 ; c=a ; Loprateur possde une associativit de gauche droite, ainsi dans lexpression i = j = 5 ; on value j=5 dabord, puis i=j, i et j ont la fin la mme valeur qui est 5. Remarque : Attention aux problmes de conversion, supposons que nous ayons une variable de type int n et une variable de type float x, lexpression n=x+5 ; est rejete par le compilateur. Il faut en fait crire n=(int) x + 5 ;. Il est ncessaire de faire une conversion explicite. Les conversions pour lesquelles il ny a pas besoin de faire une conversion explicite sont les suivantes : byte short int long float double Lincrmentation et la dcrmentation. Ces oprations consistent respectivement augmenter une variable (en gnral entire) 1 et diminuer une variable de 1 (i = i-1 ; n = n+1 ;). Ces oprations sont dfinies par les oprateurs ++ et -- : i-- ; n++ ; ou --i ; ++n ;. Il existe cependant un diffrence suivant o est plac loprateur lors de lvaluation dune expression, sil est plac avant (on parle doprateur prfix) la variable lopration est effectue avant lvaluation de lexpression, sil est plac aprs (on parle doprateur postfix) lopration est effectue aprs. n= ++i -5 ; : on affecte dabord la valeur 6 i puis la valeur 1 n. n= i++ - 5 ; : on affecte dabord la valeur 0 n puis la valeur 6 i. Affectation largie, les instructions suivantes sont quivalentes : i = i + k ; et i+=k ; Il existe la mme chose avec les oprateurs *, / et -.

Priorit des oprateurs


L'ordre de l'valuation des diffrentes parties d'une expression correspond en principe celle que nous connaissons des mathmatiques. Si nous voulons forcer l'ordinateur commencer par un oprateur avec une priorit plus faible, nous devons (comme en mathmatiques) entourer le terme en question par des parenthses. Entre les oprateurs que nous connaissons jusqu'ici, nous pouvons distinguer les classes de priorits suivantes: Oprateurs associativit Priorit forte () ++ -- ! de droite gauche * / % de gauche droite + .. .. .. < <= > >= .. .. .. = = != .. .. .. && || Priorit faible = += -= *= /= %= de droite gauche

Exemple : Dans l'instruction: res = 2*(5+1)*3+4*2; L'ordinateur value d'abord l'expression entre parenthses, ensuite les multiplications, ensuite l'addition et enfin l'affectation.

Conversion de types
Conversion automatique La grande souplesse du langage Java permet de mlanger des donnes de diffrents types dans une expression. Avant de pouvoir calculer, les donnes doivent tre converties dans un mme type. La plupart de ces conversions se passent automatiquement. Le programmeur doit quand mme prvoir leur effet. Lorsque lon dsire convertir un type vers autre qui a une taille de reprsentation infrieure, les rgles suivantes sappliquent : entier vers entier (long vers int, short vert byte, . . .) les octets les moins significatifs sont conservs. double vers float : arrondi au plus proche. flottant vers entier : il y a dabord un arrondi au plus proche dans le type long ou int, puis on effectue la conversion en conservant les octets les moins significatifs. Remarque : Lors d'une affectation, la donne droite du signe d'galit (affectation) est convertie dans le type gauche du signe d'galit. Dans le cas o il peut y avoir perte de prcision si le type de la destination est plus faible que celui de la source, une conversion force est obligatoire (sinon erreur de compilation). Conversion de type force (casting) Parfois il est ncessaire de convertir une donne dans un type diffrent de celui que choisirait la conversion automatique; dans ce cas, nous devons forcer la conversion l'aide d'un oprateur spcial ("cast"). Donc, il est possible de convertir explicitement une valeur en un type quelconque en forant la transformation l'aide de la syntaxe: (<Type>) <Expression> Exemple :
int nb1=5, nb2=2; float res; res = (float)nb1/nb2; res= 2.5

Remarque: Les contenus de nb1 et de nb2 restent inchangs; seulement les valeurs utilises dans les calculs sont converties. Les lments spcifiques au langage Java Parmi les points abords ci-dessus, quatre sont plutt spcifiques au langage JAVA. Le mot cl final qui permet de dclarer des constantes laide de variables. Le type byte qui permet de reprsenter des entiers entre -128 et 127. Le type boolean pour reprsenter les valeurs true (vrai) et false (faux). Tous les tests conditionnels doivent tre compatibles avec le type boolean. Mettre une valeur entire dans un test provoque une erreur de compilation en Java (par exemple if(2)... est interdit). 8

Les conversions de type doivent tre explicites en java chaque que lon veut convertir un type gnral vers une reprsentation plus petite. Exemple :
int n=2; float x=1.0; n=(int) x;

Un autre lment est trait de manire spcifique en Java : le type chane de caractres (String). Une introduction est propose dans la section suivante. Une premire introduction au type String En Java, les chanes de caractres sont dfinies sous forme dobjet par un type spcifique : la classe String. Nous prsentons ici une courte introduction, nous reviendrons sur ce type plus tard. Dclaration String salutation = "bonjour"; Une chane de caractre constante se dclare toujours entre guillemets "... ". Connatre la longueur dune chane : length int taille = salutation.length(); Accs un caractre : charAt char c1 = salutation.charAt(0); char c2 = salutation.charAt(2); La variable c1 contient le caractre b, la variable c2 contient le caractre n. Concatnation : loprateur + String ch1 = "Bonjour"; String ch2 = " tous"; String ch = ch1 + ch2; La variable (objet) ch contient la chane Bonjour tous. Impression dune chane de caractres System.out.println(salutation); System.out.println(ch1+ch2); System.out.println(ch); Comparaison de chanes : equals La mthode equals qui teste lgalit de deux chanes de caractres retourne true ou false: ch1.equals(ch2) ou ch1.equals("Bonjour"). La mthode compareTo pour comparer deux chanes de caractres dans lordre lexicographique (alphabtique) : ch1.compareTo(ch2) renvoie un entier strictement ngatif si ch1 est situe avant ch2 dans lordre lexicographique. renvoie un entier strictement positif si ch1 est situe aprs ch2 dans lordre lexicographique. 0 si ch1 contient la mme chane que ch2.

Les structures de alternatives


Les structures de contrle dfinissent la suite dans laquelle les instructions sont excutes. if Syntaxe: if ( <condition> ) <bloc d'instructions> Le terme condition correspond une expression qui peut tre value sous forme logique (vrai ou faux). Le <bloc d'instructions> peut dsigner : - un (vrai) bloc d'instructions compris entre accolades, - une seule instruction termine par un point-virgule. Si la <condition> a la valeur logique vrai (true), alors le <bloc d'instructions> est excut. Exemple :
if (a >= b) max = a; if (b > a) max = b;

if - else Syntaxe: if ( <condition> ) <bloc d'instructions 1> else <bloc d'instructions 2> Si la <condition> fournit la valeur true, alors le <bloc d'instructions 1> est excut. Si la <condition> fournit la valeur false, alors le <bloc d'instructions 2> est excut. Exemple: if (a > b) max = a; else max = b; Remarque : En combinant plusieurs structures if - else en une expression nous obtenons une structure qui est trs courante pour prendre des dcisions entre plusieurs alternatives: if ( <condition1> ) <bloc1> else if (<condition 2>) <bloc2> else if (<condition 3>) <bloc3> else if (<condition N>) <blocN> else <blocN+1>

10

Exemple:
public class MontantTTC { public static void main(String [] args) { double tauxTva=0.2; double ht, ttc, net, tauxRemise, remise; ht=200.5; ttc=ht * (1 + tauxTva); if(ttc < 1000.0) tauxRemise=0.; else if(ttc < 2000) tauxRemise=1.; else if(ttc < 5000){ tauxRemise=2.; System.out.println("Message: Prix ttc entre 2000 et 5000"); } else{ tauxRemise=5.; System.out.println("Message: Prix ttc suprieur a 5000"); } remise = ttc * tauxRemise/100; net = ttc - remise; System.out.println("Prix ttc: "+ttc); System.out.println("Remise: "+remise); System.out.println("Net a payer: "+net); } }

Oprateurs conditionnels ( ? :) Syntaxe <condition>? <expression1> : < expression2> ; Si la condition est vraie alors expression1 est fournie comme rsultat, sinon expression2. Exemple : Linstruction
max = a<b ? a :b ;

peut tre remplace par:


if (a>b) max =a; else max =b;

Si a < b, alors la variable max reoit la valeur de la variable a, sinon elle reoit la valeur de b. switch Linstruction switch (branchement) est une instruction de choix, permettant de tester plusieurs valeurs dune expression. Lexpression peut tre de type byte, short, char ou int. Syntaxe :

11

switch(<expression>) { case constante_1: <suite dinstructions1> case constante_2: <suite dinstructions2> case constante_n: <suite dinstructionsn> [default: suite dinstructions] } Exemple :
public class ExoSwitch{ public static void main(String [] args) { int n; n=Integer.parseInt(args[0]); switch(n) { case 0: System.out.println("zero"); break; case 1: System.out.println("un"); break; case 3: System.out.println("trois"); break; default: System.out.println("autre!"); } System.out.println("Fin du programme"); } }

12

Les structures de rptitives


while Il sagit dune boucle tant que qui excute un ensemble dinstructions tant quune condition est vraie. Syntaxe : while(<condition>) <bloc dinstructions> Le <bloc d'instructions> est excut zro ou plusieurs fois. Exemple :
// Afficher les nombres de 0 10 public class BoucleWhile{ public static void main(String [] args) { int i = 0; while (i<=10) { System.out.print("\t"+ i); i++; } } }

do-while Il sagit dune boucle faire-tant que similaire la boucle while sauf que la condition est value aprs chaque parcours de boucle. La boucle do-while est excute au moins une fois, alors que la boucle while peut ne jamais tre excute. Syntaxe : do { <instructions> }while(<condition>); Exemple:
public class BoucleDoWhile{ public static void main (String [] args){ int i=1; System.out.println("Avant la boucle"); do{ System.out.println("Dans la boule, la valeur de i est "+i); I++; }while(i<10); System.out.println("Aprs la boucle"); } }

Remarque : En pratique, la boucle do - while n'est pas si frquente que while; mais dans certains cas, elle fournit une solution plus lgante. Une application typique de do - while est la saisie de donnes qui doivent remplir une certaine condition.

13

for La structure for en Pascal et la structure pour en langage algorithmique sont utilises pour faciliter la programmation de boucles de comptage. La structure for en C est plus gnrale et beaucoup plus puissante. Syntaxe : for ( <initialisation> ; <condition> ; <compteur> ) <bloc d'instructions> La partie < initialisation > est value une fois avant le parcours de la boucle (avant dentrer dans la boucle). Elle est utilise pour initialiser les donnes de la boucle. La <condition> est value avant chaque excution de la boucle. Elle est utilise pour dcider si la boucle est rpte ou non. Le <compteur> est valu la fin de chaque itration de la boucle. Cette partie est utilise pour changer les donnes de la boucle. Exemple:
public class ExoFor { public static void main (String arg[]) { for(int i=1; i<=5; i++) { System.out.print("Bonjour: "); System.out.println(i + "fois"); } } }

Choix de la structure rptitive


Utilisez la structure qui reflte le mieux l'ide du programme que vous voulez raliser, en respectant toutefois les directives suivantes : - Si le bloc d'instructions ne doit pas tre excut si la condition est fausse, alors utilisez while ou for. - Si le bloc d'instructions doit tre excut au moins une fois, alors utilisez do - while. - Si le nombre d'excutions du bloc d'instructions dpend d'une ou de plusieurs variables qui sont modifies la fin de chaque rptition, alors utilisez for. - Si le bloc d'instructions doit tre excut aussi longtemps qu'une condition extrieure est vraie (p.ex aussi longtemps qu'il y a des donnes dans le fichier d'entre), alors utilisez while. Le choix entre for et while n'est souvent qu'une question d'habitudes: - for nous permet de runir avantageusement les instructions qui influencent le nombre de rptitions au dbut de la structure. - while a l'avantage de correspondre plus exactement aux structures d'autres langages de programmation (while, tant que). - for a le dsavantage de favoriser la programmation de structures surcharges et par la suite illisibles. - while a le dsavantage de mener parfois de longues structures, dans lesquelles il faut chercher pour trouver les instructions qui influencent la condition de rptition.

14

Ecriture dun programme Java.


Les identificateurs Les identificateurs sont des suites de caractres servant dsigner les entits manipules par un programme (variables, mthodes, classes, objets, ). En Java, un identificateur est form de lettres et de chiffres ou du caractre. Le premier caractre est forcment une lettre A-Z, a-z ou ventuellement _. Il nexiste aucune limitation sur le nombre de caractres. Exemples : ligne, laValeur_5, _56, ma_variable_2, i, MaClasse, ... Attention, on distingue les minuscules des majuscules (ligne Ligne). Certaines conventions sont traditionnellement utilises : Les noms de variables et de mthodes sont crits en minuscule sauf sils sont forms de la juxtaposition de plusieurs mots, auquel cas chaque sous-mot, sauf le premier, comporte une majuscule la premire lettre. Exemples: valeur, nombreValeurs, calculNombreReponses, ... Les noms de classe suivent la mme rgle, mais leur premire lettre est crite en majuscule. Exemples: PremierProgramme, Clavier, CalculMoyenne, ... Remarque: cette convention permet de distinguer le fait que System est une classe et que out nen est pas une (System.out.println). Des identificateurs successifs doivent tre spars par un espace ou un saut de ligne quand il ny a pas de sparateur ou de syntaxe particulire. Exemple : x = a + 5 ; y += 4 ; Une virgule est utilise pour faire plusieurs dclarations dun mme type. Exemple: int x, y ; float n, compteur, total, valeur ; Commentaires Il existe trois types de commentaires en JAVA. les commentaires commenant par /* et se terminant par */. Exemple : /* Ceci est un commentaire usuel*/ les commentaires de fin de ligne //. Exemple : int valeur ; // valeur avec commentaire de fin de ligne les commentaires de documentation commenant par /** et finissant par */. Cest un cas particulier des commentaires usuels puisquils commencent de manire lgrement diffrente par rapport `a ces derniers. Leur intrt est de pouvoir tre extrait automatiquement pour faire de la documentation avec, par exemple, le programme javadoc. Mots cls rservs Les mots suivant sont des mots cls rservs pour le langage et ne peuvent tre utiliss abstract boolean break byte case private protected catch char class const continue static super default do double else extends throw throws final finally float for goto volatile while if implements import instanceof int public return interface long native new package switch synchronized short this transient try void

15

Remarques globales Les instructions se terminent par un point virgule ;. Les blocs de code sont dfinis entre accolades {}. On dclare une variable avec un nom et un type : int x;. Un oprateur daffectation est avec un seul signe : =. Un oprateur dgalit est avec deux signes : ==. Lorsque lon crit du code, il est impratif de respecter les rgles dindentation : les instructions lintrieur dun bloc doivent tre dcales droite, cest galement lorsque lon utilise une structure de contrle. La dfinition de mthodes et dattributs de classes doivent tre indents par rapport la dfinition de la classe elle-mme. Pensez commenter votre code et bien dcrire ce que font vos fonctions et quoi servent vos classes ! ...

16

Vous aimerez peut-être aussi