Java - Caractéristiques du langage

Décembre 2016

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 non formatté, c'est-à-dire un fichier texte dans sa plus simple expression, sans mise en forme particulière (pas de texte souligné, en italique, ou autres). En revanche le langage Java supporte les caractères Unicode, on peut donc y introduire des caractères spéciaux, en particulier des lettres accentuées.

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) faisant apparaître autant de fichiers avec l'extension .class que de classes développées dans le code source.


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...

Typologie


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.

Applications et Applets


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);
   }
}

Ajout de commentaires


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.

// Voici un autre 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 */.


A voir également :

Ce document intitulé «  Java - Caractéristiques du langage  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.