Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Java - Caractéristiques du langage

Caractéristiques du langage Java Encyclopédie


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

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.

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

Trucs & astuces pertinents trouvés dans la base de connaissances

09/01 20h26 C/C++ Erreur de segmentation (Langage C)
18/12 20h18 Installation firefox 2.0+java+flash (Logiciel libre)
30/11 22h37 Comment débuter, quel langage? (Langages)
18/11 00h43 JavaScript c'est la même chose que Java (Mythes et légendes)
15/11 02h50 Langage informatique=Langage de programmation (Mythes et légendes)
07/10 21h20 2 bons livres pour Java et C++ (Langages)
03/10 15h46 Créer une applet qui accède au disque dur (Programmation)
21/09 09h44 Critères de choix d'un langage/framework (Programmation)
04/09 10h44 plugin Java Jre de Sun (Mozilla Firefox)
15/05 20h49 Gestion des plug-ins (Navigateurs)
caracteristiques java langage Plus d'astuces sur « caracteristiques java langage »

Discussions pertinentes trouvées dans le forum

24/05 17h19 java java.lang.nullpointer.exception java erreur "java.lang.NullPointer.Exception Développement 26/05 10h02->mamiemando7
24/01 11h48 java.lang.noclassdeffounderror Java.lang.noclassdeffounderror Développement 04/02 08h03->moi aussi17
15/08 17h37 language java Language java Développement 18/08 09h30->jackoboss15
25/04 09h54 sql java.lang.nullpointerexception [SQL] java.lang.NullPointerException Développement 25/04 11h21->karine14
11/05 15h56 java.lang.nullpointerexception java.lang.NullPointerException Développement 11/05 17h15->teebo13
14/03 18h23 language java Language Java Développement 16/03 11h56->brj8
09/06 12h15 java java.lang.stringindexoutofbound [java] erreur java.lang.StringIndexOutOfBound Développement 10/06 10h51->K6
15/06 19h19 500 servlet exception java.lang.nullpointerex 500 Servlet Exception java.lang.NullPointerEx Windows 19/06 20h45->SANCO3
18/08 18h34 visual delphi java quel langage VISUAL, DELPHI, JAVA Quel langage? Développement 18/08 19h44->Christophe3
17/03 21h37 n connait langage java pour quelqun qui connait bien le langage java Développement 08/04 10h02->yserman3
Discussion fermée Problème résolu caracteristiques java langage Plus de discussions sur « caracteristiques java langage »

Ce document intitulé « Java - Caractéristiques du langage » issu de l'encyclopédie informatique Comment Ça Marche (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.