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

Java - Premier programme

Premier programme avec Java Encyclopédie


Première application avec Java

La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes :

// Votre premiere application en Java
class FirstApp {
   public static void main (String[] args){
   	System.out.println("Hello World");

   }
}

Etant donné que l'on a donné le nom de FirstApp à notre programme, il est essentiel de sauver ce fichier sous le nom FirstApp.java (un autre nom provoquera une erreur lors de la compilation). A l'aide du JDK (ou d'un environnement de développement Java intégré) compilez le programme en vous plaçant, sous une fenêtre DOS (en supposant que vous êtes sous un environnement Microsoft), grâce à la commande suivante :

javac FirstApp.java
Si tout se déroule normalement, le compilateur devrait créer un fichier nommé FirstApp.class. dans le cas contraire, vous avez soit une erreur dans votre programme (vérifiez la syntaxe) ou bien vous avez mal installé le JDK...

En supposant que le JDK a été installé correctement et que la syntaxe de votre programme est bonne, vous pouvez désormais exécuter votre programme grâce à la machine virtuelle Java, en tapant la commande suivante :

java FirstApp

Il ne faut pas spécifier l'extension (.class) au risque d'obtenir une erreur !
Pour passer des arguments lors de l'exécution, il suffit de préciser ces arguments après le nom du fichier :
java NomFichier arg1 arg2 ...
Si il y a plusieurs arguments, ceux-ci doivent être séparés par au moins un espace.

Le programme devrait en toute logique afficher le message "Hello World" à l'écran. Cela est bien peu, mais constitue un bon début pour analyser le programme. Voyons ligne par ligne comment est constitué cette application :

  • La première ligne
    // Votre premiere application en Java
    est une ligne de commentaire permettant d'ajouter des remarques sur l'application
  • La seconde ligne
    class FirstApp {
    définit la classe principale de votre application grâce au mot clé class. Le nom que vous donnez à cette classe représente le nom de votre programme, cela signifie qu'une application Java possède au moins une classe, et que celle-ci possède un nom correspondant au nom du programme. Puisque Java est sensible à la casse, le nom que vous donnez au programme doit être rigoureusement le même que celui que vous donnez au fichier portant l'extension .java
    La seconde ligne se termine par une accolade ouvrante "{", correspondant au début d'un bloc, c'est-à-dire un ensemble de lignes de codes correspondant à la classe et délimité par deux accolades
  • La troisième ligne
       public static void main (String args[]){
    définit la méthode principale de l'application, c'est-à-dire une procédure propre à la classe est exécutée lors de son appel. Le mot clé void précédant la méthode main() indique le type de retour de la fonction, c'est-à-dire le type de valeur que la méthode doit retourner. Dans le cas présent, il s'agit du type void (signifiant rien en anglais), donc la méthode ne doit retourner aucune valeur. Les parenthèses suivant le mot main permettent de définir les paramètres de la méthode, c'est-à-dire les données qu'elle reçoit en entrée. Dans cette application (et dans toutes vos futures applications) le paramètre est String args[], ce qui correspond à un ensemble (tableau) de chaînes de caractères. Cela correspond en réalité aux paramètres que vous placez après la ligne javac FirstApp.class, si, par exemple, vous voulez pouvoir préciser des options lors de l'exécution de votre application. Vous rencontrerez parfois l'écriture String[] args, cette écriture est juste elle aussi, voire plus logique... (cela sera expliqué plus loin).
    Enfin les mots clés public et static définissent les caractéristiques de la méthode main(). Le mot clé public définit les classes pouvant exécuter la méthode main(), public signifie donc que toutes les classes peuvent y avoir accès. Or, l'interpréteur Java étant "considéré comme une classe", il est essentiel qu'il puisse y avoir accès afin de lancer l'application... Comme dans le cas de la classe FirstApp, la ligne déclarant la méthode main() se termine par une accolade ouvrante indiquant un bloc correspondant au corps de la méthode main()
  • La quatrième ligne
       	System.out.println("Hello World");
    correspond au corps de la méthode main(). Il s'agit de l'appel de la méthode println(), possèdant un paramètre (une chaîne de caractère). Cette méthode permet d'afficher sur la sortie standard (ici, l'écran) la chaîne de caractère qui lui est passée en paramètre, en lui ajoutant automatiquement un caractère de retour à la ligne (il existe aussi une méthode appelée print(), n'ajoutant pas de retour à la ligne). Cette méthode est précédée de System.out., cela signifie qu'elle fait partie de l'objet out, faisant lui-même partie de la classe System. En réalité toutes les méthodes natives de Java font partie d'objets, répartis dans une hiérarchie de classes. Ainsi, la classe System fait partie de la classe lang, qui fait elle-même partie de la classe java. Toutefois, il n'est pas nécessaire de préciser java.lang.System.out, car la classe java.lang est la seule classe directement accessible (celle-ci contient en effet les méthodes essentielles). De cette façon, la ligne "System.out.println("Hello World");" est équivalente à "java.lang.System.out.println("Hello World");".

  • Une application Java possède au moins une classe
  • Le nom de la classe correspond au nom de l'application (avec la même casse, c'est-à-dire orthographié de la même façon aux majuscules près)
  • Une application Java possède une méthode main() déclarée en public et en static
  • Le paramètre de la méthode main() peut s'écrire indifféremment String args[] ou String[] args

Première applet avec Java

Les applets sont différentes des applications dans la mesure où il s'agit de petites applications graphiques destinées à s'exécuter dans un navigateur internet. D'autre part, les applets ont un champ d'action limité pour des raisons de sécurité puisqu'elles s'exécutent dans un environnement distant. Elles ne peuvent donc pas accéder à toutes les ressources de l'environnement distant (lecture/écriture sur le disque par exemple).

Voici donc le code d'une applet toute simple :

import java.awt.*;

public class FirstApplet extends java.applet.Applet {
   public void init (){
	add(new Label("Hello World"));

   }
}
Le programme devrait en toute logique afficher le message "Hello World" à l'écran sur le navigateur, à condition de créer le fichier HTML approprié "hébergeant" l'applet :
<HTML>

<BODY>

<APPLET code="FirstApplet.class" width="100" height="30" align="left">

Message s'affichant si l'applet n'est pas supportée par le navigateur
</APPLET>

</BODY>

</HTML>
Pour visualiser l'applet, il vous suffit donc d'enregistrer ce fichier avec l'extension .htm ou .html, comme par exemple FirstApplet.htm.

Pour l'exécuter vous pouvez :

  • soit utiliser appletviewer, en vous plaçant dans le répertoire contenant l'applet et le fichier HTML, et taper la commande :
    appletviewer FirstApplet.htm
  • soit utiliser votre navigateur en ouvrant le fichier HTML

L'exécution de cette applet devrait donner un résultat comme celui-ci :

Message s'affichant si l'applet n'est pas supportée par le navigateur

Voyons ligne par ligne comment est constitué cette applet :

  • La première ligne
    import java.awt.*;
    indique au compilateur qu'il a besoin de l'ensemble des classes situées dans le package awt pour pouvoir être compilé correctement. Les classes AWT, représente une bibliothèque de méthodes graphiques permettant d'afficher des éléments graphiques sur le navigateur
  • La seconde ligne
    public class FirstApplet extends java.applet.Applet {
    définit la classe principale de votre applet grâce au mot clé class. Le nom que vous donnez à cette classe représente le nom de votre programme, cela signifie qu'une applet Java possède au moins une classe, et que celle-ci possède un nom correspondant au nom du programme. Le nom que vous donnez au programme doit,comme pour les applications, être rigoureusement le même que celui que vous donnez au fichier portant l'extension .java
    Le nom de la classe est précédée du mot clé public, permettant l'utilisation de cette classe par le navigateur. Elle est aussi suivie de la mention extends java.applet.Applet, indiquant que la classe que l'on définit hérite d'une classe existante appelée Applet. Cette classe définit une méthode init() vide, ce qui signifie que l'applet posséde par défaut une méthode init(), qui peut être redéfinie
    La seconde ligne se termine par une accolade ouvrante "{", correspondant au début d'un bloc, c'est-à-dire un ensemble de lignes de codes correspondant à la classe et délimité par deux accolades
  • La troisième ligne
       public void init (){
    redéfinit la méthode init() de l'applet. Celle-ci ne possède pas d'argument et ne retourne aucune valeur (son type de retour est void). Par contre cette méthode doit obligatoirement être définie en tant que public pour pouvoir être exécutée correctement
  • La quatrième ligne
    	add(new Label("Hello World");
    correspond au corps de la méthode init(). Il s'agit de l'appel de la méthode add(), possèdant un paramètre (un Label, objet de la classe java.awt permettant d'afficher la chaîne de caractère passée en paramètre). La méthode add() fait en fait partie de la classe java.awt.Panel, qui est une classe parente de java.applet.Applet. De cette façon, java.applet.Applet possède l'ensemble des méthodes qui sont définies en son sein, ainsi que l'ensemble des méthodes définies dans les classes dont elle hérite...

Voici donc deux exemples d'application et d'applet permettant d'avoir un aperçu de ce à quoi peut ressembler un programme Java (qu'il soit une application ou une applet). La section suivante présente les primitives du langage Java, c'est-à-dire les briques élémentaires pouvant être utilisées dans une classe...

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

15/02 13h38 Désactiver les programmes ORANGE/WANADOO (Internet)
13/01 13h25 Conventions de passage de paramètres sous x86 (Programmation)
10/01 10h36 Les normes des webservices (Programmation)
03/01 01h24 Programmation d'un Noyau / Os (Systèmes d'exploitation)
18/12 20h18 Installation firefox 2.0+java+flash (Logiciel libre)
26/11 21h06 Programmer un noyau / Os (Systèmes d'exploitation)
26/11 21h05 Programmer un noyau / Os (Systèmes d'exploitation)
21/11 11h27 Conversion RGB/HSL/CMYK... (Programmation)
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)
java premier programme Plus d'astuces sur « java premier programme »

Discussions pertinentes trouvées dans le forum

10/02 14h32 envoyer prog java port séri comment envoyer un prog java sur un port séri Développement 16/03 08h05->choubaka9
18/07 14h31 java nombre premier [java] nombre premier Développement 14/08 19h49->guigolum7
23/01 15h41 programmation java probleme en programmation java Développement 05/02 13h44->titi6
21/01 18h15 programme nombres premiers programme sur les nombres premiers Développement 24/01 21h22->PetitFurby5
30/04 21h42 premier prog aide pr premier pas en prog Développement 01/05 17h54->vertigineux4
16/02 20h58 java nécessaire programmer ss windows [java]le nécessaire pr programmer ss windows? Développement 19/02 12h25->rwen4
28/02 15h30 programmation java réseau [programmation java en réseau] Développement 03/02 13h42->assia3
18/05 14h47 premiere prog vb [premiere prog en VB] Développement 18/05 15h18->oreilledelest3
26/07 15h50 apprendre programmer java vb Apprendre à programmer en Java et VB Développement 15/01 20h55->sebsauvage3
09/07 11h12 programmer java programmer en java Développement 17/09 13h26->max27
Discussion fermée Problème résolu java premier programme Plus de discussions sur « java premier programme »

Ce document intitulé « Java - Premier programme » 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.