Structure d'un programme Java
On va commencer par observer un programme Java complet et succinct qui permet d'afficher deux phrases à l'écran. Chaque phrase est affichée sur une ligne séparée. La figure 2 montre le code source du programme en question.
Voici ce que l'on peut lire à l'écran après exécution du programme :
Voici un exemple de programme Java. Ce programme provient de http://www.ukonline.be.
Analyse du programme
Les six premières lignes du programme, commençant par les caractères //
, sont des commentaires. Ils n'affectent en rien la tâche du programme, mais sont utiles pour que le code source du programme soit plus compréhensible par les humains.
Le reste du programme, de la ligne 7 à la ligne 14, est une définition de classe permettant de définir le programme Affiche
. Le corps de la classe se situe entre l'accolade ouvrante ( {
) du début (ligne 8) et l'accolade fermante ( }
) de la fin (ligne 14). Nous verrons plus loin que les classes sont les éléments de base de la programmation Java.
Dans le corps de la classe, on retrouve une méthode. Il 'agit d'un groupe d'instructions auquel on a donné un nom. Dans cet exemple, elle s'appelle main
et contient deux instructions (lignes 11 et 12). Toutes les instructions simples se terminent par un point-virgule ( ;
). Tout programme Java doit comporter une méthode public static void main (String[] args)
qui est la méthode principale, le point d'entrée du programme.
Les deux instructions de la méthode main
font appel à une autre méthode, la méthode println
. Cette dernière permet d'afficher des caractères à l'écran. Par contre, elle n'est pas définie dans ce programme, mais fait partie de l'objet System.out
que nous examinerons dans le chapitre 3. On voit donc qu'on a des définitions et des appels de méthodes.
Voilà ce premier programme Java déjà décortiqué. Un grand nombre de concepts importants s'y cache, et ce n'est pas le but de tous les expliquer maintenant, mais bien de les citer. Nous aurons le loisir de les découvrir tout au long des quatre prochains chapitres.
Commentaire
Les commentaires sont très utiles pour le programmeur, mais ne servent à rien pour le fonctionnement du programme. Un programme, ce n'est pas un texte qu'on écrit puis qu'on oublie dans un grenier. En quelque sorte, on peut dire qu'un programme « vit » : il est modifié au cours du temps. Ces modifications peuvent survenir après un long intervalle et peuvent être faites par le même programmeur ou par un autre. Sans commentaires, il pourrait être difficile de comprendre le programme pour le modifier, d'où l'importance de bien commenter son code source.
Il y a deux manières d'insérer des commentaires dans le code source d'un programme. La première manière consiste à utilise les caractères //
qui permettent de définir un commentaire sur une ligne. On peut, par exemple, placer un commentaire sur la même ligne qu'une instruction pour l'expliquer :
L'autre manière permet d'insérer un commentaire qui s'étend sur plusieurs lignes. On marque le début du commentaire avec les caractères /*
et la fin de celui-ci avec les caractères */
. Le texte du commentaire peut contenir n'importe quoi sauf la chaine de caractères */
, puisque celle-ci marque la fin du commentaire. Voici un exemple de commentaire multilignes :
Enfin, sachez déjà qu'il y a aussi un troisième type de commentaire qui est utilisé lors de la génération de la documentation du programme. Ce type est expliqué au chapitre 7.
Les commentaires sont très importants, mais il faut absolument les utiliser correctement et surtout systématiquement, chaque fois que vous écrivez un programme. La meilleure chose à faire est d'écrire les commentaires tout en écrivant le programme et non par après. Un commentaire doit apporter un plus par rapport au code. Les commentaires ne sont pas utilisés pour paraphraser le code, ce qui serait complètement inutile et alourdirait le code source pour rien, le rendant illisible.
Identificateur et mot réservé
Lorsqu'on programme, on utilise de nombreux mots. Dans le programme Affiche
, ces identificateurs sont public
, class
, Affiche
, static
, void
, main
, String
, args
, System
, out
et println
.
On peut classer ces mots en trois catégories :
- ceux que l'on choisit :
Affiche
etargs
; - ceux qu'un autre programmeur a choisis :
String
,System
,out
,println
etmain
; - et ceux qui ont un sens spécial dans le langage :
class
,public
,static
etvoid
.
Les mots des deux premières catégories, appelés identificateurs, doivent respecter la règle de formation des identificateurs que l'on va détailler plus loin. Les identificateurs String
, System
, out
, println
et main
ont été choisis par d'autres programmeurs. Ils font partie d'un ensemble de codes prédéfinis, de classes et de méthodes que des gens ont écrits et que nous utilisons. On verra au chapitre 4 d'où vient cet ensemble de codes et comment l'utiliser.
Les mots de la troisième catégorie, appelés mots réservés, font partie intégrante du langage pour lequel ils ont une signification bien définie. Le langage Java compte 50 mots réservés repris dans à la figure 3. Sachez que const
et goto
ne sont pas utilisés dans la version actuelle de Java, mais sont réservés pour une éventuelle utilisation dans le futur.
Règle de formation des identificateurs
La règle pour former un identificateur est assez simple et est représentée graphiquement sur la figure 4. Vous devez partir du cercle vide et arriver au double cercle plein tout en suivant les lignes dans le sens des flèches. Ce genre de diagramme est appelé diagramme syntaxique et permet de représenter graphiquement une règle de syntaxe.
Un identificateur commence donc obligatoirement par une lettre Java. Ensuite, soit c'est terminé (on arrive directement au bout) et on a un identificateur d'un caractère, soit on descend et on choisit une autre lettre Java ou un chiffre Java. On peut répéter cette boucle autant de fois qu'on le souhaite.
Dans les lettres Java, on retrouve entre autres les lettres de l'alphabet de a
à z
et de A
à Z
et également le tiret de soulignement ( _
) et le dollar ( $
). Parmi les chiffres Java, il y a notamment les chiffres arabes de 0
à 9
.
En résumé, un identificateur Java fait au minimum un caractère. Il commence obligatoirement par une lettre Java et est suivi de zéro, une ou plusieurs lettres ou chiffres Java. De plus, Java est sensible à la casse, c'est-à-dire qu'il fait la différence entre les majuscules et les minuscules. Les identificateurs TOTAL
, total
et ToTaL
sont donc différents.
Enfin, il reste une dernière règle qui dit qu'on ne peut utiliser ni un mot réservé, ni les littéraux true
, false
et null
comme identificateur (certains auteurs classent les littéraux true
, false
et null
parmi les mots réservés, mais nous suivons la spécification officielle Java (§ 3.9)). Les littéraux sont expliqués à la section suivante.