b. Hello world en Java

Comment utiliser les outils installer ?

Dans la section précédente on a installé le OpenJDK qui est une version opensource du JDK de java. Le JDK signifie Java Development Kit ou kit de développement Java en français. J'en parle plus en détails dans ce article : ICI.


Ce kit contient plusieurs programmes, et utilitaires parmi les quels :

  • - Javac : c'est le compilateur Java, il tranforme le code source java en bytecode. Pour utiliser le compilateur Java on tape la commande :
javac NomFichier.java
  • NomFichier.java c'est le nom du fichier qui contient le code source java.
  • - Tout fichier source en java a l'extension .java


  • - Java : C'est une commande, appelé java launcher, elle a été introduite dans la version 11 dans la plateforme java pour lancer ou executer un seul fichier source java.
  • Cette commande java appelle le compilateur javac pour compiler, ensuite appelle la jvm pour exécuter le bytecode. Pour utiliser cette commande, on tape java suivi du nom du fichier :
java NomFichier # vous pouvez omettre le l'extension .java
  • NomFichier.java c'est le nom du fichier qui contient le code source java.


Hello world en Java.

Nous allons créer notre premier programme java. Pour le faire :

  • 1 - Ouvrez un terminal et créez un nouveau dossier :


  • 2 - Ouvrez ce dossier dans vscode et créez un nouveau fichier HelloWorld.java


  • 3 - Copiez et collez le code ci-dessous à l'intérieur du fichier que vous avez créé:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello world !");
    }
}


  • 4 - Pour compiler et exécuter :
  • - Avec javac :
  • Ouvrez un terminal dans le dossier helloworld ou bien ouvrez le terminal dans vscode (ctrl + shift + ù), appelez le compilateur et donnez lui le fichier à compiler :
javac HelloWorld.java


  • Résultat, un nouveau fichier HelloWorld.class sera crée, il contient le bytecode que seule la machine virtuelle java peut lire et exécuter :


  • Pour executer, on va utiliser la commande java qu'on a deja vue, on va la passer le fichier class contenant le bytecode mais sans l'extension class donc HelloWorld :
java HelloWorld


  • si vous executez vous allez voir le message Hello world ! s'afficher :


  • Avec java :
  • On peut aussi directement appeler la commande java sur le fichier source .java lui-même, comme ça :

  • et on a le message Hello world !


Explication du code

Dans le code qu'on vient d'exécuter on a :

  • - La class HelloWorld : C'est cette partie :
public class HelloWorld {
    
}


  • - le mot public, c'est un mot clé en java, il est réservé dans le langage, il est appelé modificateur d'accès, il dicte le niveau d'accès à cette class à partir de l'exterieur. Ici cela signifie que tout le monde a accès à cette classe. On verra un autre modificateur d'accès qui est private.


  • - le mot class, c'est un mot réservé aussi qui veut dire que nous somme entrain de déclarer ou créer une classe. Nous verrons les classes dans la suite du cours. Mais faut java c'est un langage fondamentalement orienté objet, Tout les codes que vous allez écrire vont toujours être à l'intérieur d'une classe (l'un des concept de base de l'orienté objet).

Un programme java doit avoir au minimum une classe, sinon plusieurs classes.

Un programme java doit avoir qu'une seule class public et cette class doit avoir le même nom que le nom du fichier source (suivi de l'extension.java).


  • - HelloWorld c'est le nom de la class, comme c'est la seule class dans le fichier et qu'elle est public, elle a le nom du fichier source. Le nom des classes en java doit commencer par une lettre et la suite peut être une lettre ou un chiffre. Par convention le nom utilise le système de notation 'CamelCase' c'est à dire chaque mot qui compose le nom de la classe commence par une lettre majuscule.


  • - Les accollades {} : délimitent le corps de la class, tout ce qui se trouve dans ces accollades appartient à cette classe.


  • - Le point d'entré du programme, la methode main: C'est cette partie :
public static void main(String[] args) {
    
}

  • - Une methode contient des instructions, c'est l'une des composantes d'une classe java, l'autre composante ce sont les attributs, que nous verrons dans la suite du cours.
  • Ici le mot main c'est le nom de la methode, c'est une méthode spéciale, tout programme java doit avoir au cette méthode, car c'est le point d'entrée du programme. Faite attention au mot main qui est ici tout en minuscule, java est un langage case sensitive, il fait la différence entre les majuscules et minuscules.
  • void ça veut dire que cette méthode à la fin de l'exécution ne retourne rien, aucun résultat.
  • static c'est un mot clé aussi, en gros signifie qu'on peut appeler cette méthode sur le nom de la class. C'est tout ce que je peux vous dire pour le moment. J'expliquerai en détail concernant ce mot clé.
  • public : on l'a déja vu, ici il veut dire que cette méthode peut être appelé en dehors de cette classe.
  • String[] args : Les methods ont des parentheses à juste après leurs noms. C’est utilisé pour accepter les arguments, les données que cette méthode peut utiliser. Ici elle accepte des arguments venant de la ligne de commande. Lorsqu’on lance un programme en ligne de commande, on peut passer à ce programme des données, et en java cette method speciale main va permettre d’accepter ces arguments. Ici l’argument args est un tableau de chaîne de caractères, on va voir les types de données dans le prochain chapitre.
  • Accollades {} : sont ici aussi utilisés pour délimiter le corps de cette methode.


  • - L'instructuction pour afficher le message : c'est cette partie :
System.out.println("Hello world !");


  • Comme on vient de le dire les methodes contiennent des instructions.
  • Toute instruction doit se terminer par un point virgule (;)
  • Lorsque on exécute une methode, ces instructions s'exécutent les une après les autres, jusqu'à la fin.
  • Ici cette l'instruction System.out.println("Hello world !"); permet d'afficher le message Hello world ! :
  • - println : c'est une methode qui permet d'afficher les caractères à l'écran, ici elle prend le méssage "Hello world !" en parenthèses, ce message est un argument pour cette methode.
  • - System : c'est une classe qui nous est fourni par le langage java, pour interagir avec le système, ici pour imprimer les caractères à l'écran.


En conclusion on a créer une classe avec une seule methode appelé main, c'est le point d'entrée de notre programme. Cette methode contient une seule instruction qui permet d'afficher le message Hello world !.