|
Fichier
source, compilation et machine virtuelle
Le fichier
source d'un programme écrit en Java est un simple
fichier texte dont l'extension est par convention .java.
Ce fichier source doit être un fichier texte non formatté,
c'est-à-dire un fichier texte dans sa plus simple expression,
sans mise en forme particulière ou caractères
spéciaux, c'est-à-dire qu'il contient uniquement
les caractères ASCII
de base.
Lorsque le programme est prêt
à être "essayé", il s'agit de
le compiler (le traduire
en langage machine) à l'aide d'un compilateur. Toutefois,
contrairement aux langages compilés traditionnels,
pour lesquels le compilateur crée un fichier binaire
directement exécutable par un processeur donné
(c'est-à-dire un fichier binaire contenant des instructions
spécifiques à un processeur), le code source
Java est compilé en un langage intermédiaire
(appelé pseudo-code ou bytecode) dans
un fichier portant le même nom que le fichier source
à l'exception de son extension (.class).
Cette caractéristique
est majeure, car c'est elle qui fait qu'un programme écrit
en Java est portable, c'est-à-dire qu'il ne dépend
pas d'une plate-forme donnée. En réalité
le code intermédiaire n'est exécutable sur aucune
plate-forme sans la présence d'une machine virtuelle,
un interpréteur (la machine virtuelle est d'ailleurs
parfois appelée interpréteur Java) tournant
sur une plate-forme donnée, et capable d'interpréter
le code intermédiaire.
Ainsi, pour peu qu'une plate-forme
(windows 95, Unix, Linux, Amiga, ...) possède une machine
virtuelle fonctionnant sous son système, celle-ci est
capable d'exécuter n'importe quelle application Java!
De cette façon, l'ensemble
des navigateurs permettant d'utiliser des applets possèdent
une machine virtuelle...
La manière d'écrire
les choses en Java est importante. Le langage Java est par
exemple sensible à la casse (en anglais case sensitive),
entendez par là qu'un nom contenant des majuscules
est différencié du même nom écrit
en minuscules. Ainsi, les spécifications du langage
Java précisent que la fonction principale doit être
appelée main() et non Main() ou MAIN().
D'autre part, toute instruction se termine par un point-virgule.
Java permet de créer
deux types de programmes:
- Les applications: programmes
tels qu'on les connaît, c'est-à-dire s'exécutant
dans le système d'exploitation à condition
d'avoir installé une machine virtuelle. Voici ce
à quoi ressemble une application Java:
public class Nom_du_programme {
public static void main (String args[]){
System.out.println("Hello World");
}
}
- Les applets (prononcez Applettes,
et traduisez Appliquettes, le nom grotesque donné
en français): Il s'agit de petites applications destinées
à fonctionner sur un navigateur. Ainsi une applet
a un champ d'action beaucoup plus réduit qu'une application
pour des raisons de sécurité (une applet ne
peut par exemple pas accéder au système sur
lequel elle s'exécute...). Voici un exemple d'applet:
public class Nom_de_l_applet extends java.applet.Applet {
public void paint (Graphics g){
g.drawString("Hello World",20,40);
}
}
Lorsqu'un programme
devient long et compliqué il peut être intéressant
(il est même conseillé) d'ajouter des lignes
de commentaires dans le programme, c'est-à-dire des
portions du fichier source qui ont pour but d'expliquer le
fonctionnement du programme sans que le compilateur ne les
prennent en compte (car il génèrerait une erreur).
Pour ce faire, il est possible
d'utiliser des balises qui vont permettre de délimiter
les explications afin que le compilateur les ignore et passe
directement à la suite du fichier.
Ces délimiteurs sont /* et */. Un commentaire
sera donc noté de la façon suivante:
/* Voici un commentaire! */
Il y a toutefois quelques règles
à respecter:
 |
- Les commentaires peuvent être
placés n'importe où dans le fichier
source
- Les commentaires ne peuvent contenir
le délimiteur de fin de commentaire (*/)
- Les commentaires ne peuvent être
imbriqués
- Les commentaires peuvent être
écrits sur plusieurs lignes
- Les commentaires ne peuvent pas couper
un mot du programme en deux
|
Le langage permet aussi de
mettre toute la fin d'une ligne en commentaire en utilisant
le double slash (//). Tout ce qui se situe à
droite de ce symbole sera mis en commentaire.
Enfin, un dernier type de commentaires
permet de documenter une application, de telle façon
que le programme JavaDoc (fourni avec le JDK,
Java Development Kit, le kit permettant de compiler
du Java), puisse créer des documents HTML à
partir de l'application afin de la documenter. Ces commentaires,
vus comme des commentaires normaux par Java, sont repérés
par les délimiteurs /** et */.
 
|