Sachez dès maintenant que tout code Java est placé dans des classes ou des interfaces. En dehors des classes ou des interfaces, il y a uniquement des indications de paquetage ou d'import sur lesquelles nous reviendrons.
Voici un code source pour un premier exemple. Certaines parties commentées vont rester assez mystérieuses pour l'instant. Il ne faut pas s'en inquiéter, le principal est pour l'instant de réussir à compiler et exécuter ce programme.
public class Bravo {
public static void main(String[] arg) {
System.out.println("bravo");
}
}
L'en-tête de la classe est ici :
class Bravo
L'en-tête d'une classe est toujours suivie du corps de la classe, corps qui est délimité comme on le voit ci-dessus par des accolades (les accolades externes).
Ici, la classe Bravo contient uniquement une méthode, la méthode main (une méthode peut aussi être appelée fonction). L'en-tête de cette méthode est :
public static void main(String[] arg)
On dira que arg est un paramètre de la méthode main ; ce paramètre est de type String[], ce qui signifie qu'il s'agit d'un tableau d'objets de type String (cela sera revu plus tard).
L'en-tête d'une méthode est toujours suivie du corps de la méthode (sauf pour une classe abstraite, vue plus loin), corps qui est délimité comme on le voit ci-dessus par des accolades (les accolades internes).
Ici, le corps de la méthode contient uniquement la ligne :
System.out.println("bravo");
Une telle ligne s'appelle une instruction. Les instructions se terminent toujours pas des points-virgules.
Lorsqu'on exécute un programme, on exécute toujours la suite des instructions d'une méthode nommée main. L'en-tête de la méthode main est toujours identique à celle de la méthode utilisée ici, à part pour le mot arg qui peut être remplacé par un autre identificateur (liste, argv,...).
On obtient à l'exécution, avec notre programme :
bravo
Voyons comment arriver à l'exécution de ce programme.
Pour accéder directement au programme.
Vous pouvez faire l'exercice : Écrire le premier argument de la ligne de commande
String : il s'agit d'une classe définie dans l'API, dans le paquetage java.lang. Ainsi, la méthode main a pour paramètre un tableau de chaînes de caractères. Sera revu plus tard.
System : classe du paquetage java.lang qui fournit quelques fonctionnalités systèmes, de façon indépendante de la plate-forme.