Java >> Tutoriel Java >  >> Java

Programme Java Hello World

Le programme Java Hello World est un programme simple qui affiche "Hello World" à l'écran. Dans cet article, nous allons apprendre à exécuter un programme Java sans générer de fichier de code binaire. Le nom de fichier et les noms de classe peuvent être différents ou non. Vous découvrirez également les phases de code source, de compilation et d'exécution. Les commandes javac et java sont utilisées dans quel but, leur syntaxe et leurs options. Quel style doit être utilisé pour écrire les programmes Java ?

Logiciels requis pour développer le programme Java

  1. Éditeur de texte :- pour saisir et enregistrer le code Java. Des exemples de logiciels d'édition de texte sont un bloc-notes, Editplus, Atom, Textpad, Notepad++ e.t.c
  2. JDK :- pour compiler et exécuter le programme Java
  3. Invite de commande :- pour exécuter javac, java et une autre commande

Pour développer des programmes Java, nous avons besoin de n'importe quel éditeur de texte comme le bloc-notes, atom e.t.c. À l'aide d'un éditeur de texte, nous allons écrire le programme et l'enregistrer dans le dossier. Après cela, en utilisant l'invite de commande, nous allons compiler et exécuter le programme Java. L'invite de commande est juste pour la vue et pour prendre le but de la commande. Il prendra l'entrée et affichera la sortie. La compilation et l'exécution se font avec l'aide de JDK. JDK a un compilateur et une JVM.

Au lieu d'utiliser ce logiciel différent, vous pouvez également utiliser IDE comme Éclipse. IDE est un logiciel qui peut être utilisé pour l'édition, la compilation et l'exécution du programme. En utilisant IDE comme Eclipse, vous pouvez tout faire en un seul endroit. Eclipse est l'IDE le plus populaire pour Java.

Mais il est recommandé de commencer votre voyage Java avec des éditeurs de texte et après avoir appris les programmes et concepts de base en Java, passez à IDE. De cette façon, vous vous souviendrez très facilement des syntaxes.

Énoncés essentiels du programme Java

Pour développer, compiler, exécuter et imprimer une sortie sur la console ou surveiller, chaque programme Java doit avoir moins de 3 instructions

  1. Bloc de classe :- seule la classe nous permet de définir la méthode avec la logique.
  2. La méthode principale :- C'est le point initial de l'exécution de la logique de classe.
  3. Relevé d'impression :- Tous les types de données sont imprimés à l'aide de ce relevé.

Programme hello world simple en Java

Un programme Java hello world est un programme simple qui affiche "Hello, World!" sur l'écran. C'est un programme très simple, qui est souvent utilisé pour présenter un nouveau langage de programmation à un débutant.

Étape 1 :- Ouvrez n'importe quel éditeur de texte (comme le bloc-notes) et écrivez le code du programme Java hello world.

 //Hello, World program in Java
 class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

Maintenant, enregistrez le programme Java hello world sous FirstProgram.java dans n'importe quel dossier de votre ordinateur. Ici, nous allons l'enregistrer dans le dossier E:\Java\examples\

Étape 2 :- Ouvrez l'invite de commande (cmd) et accédez au dossier dans lequel vous avez enregistré le programme ci-dessus.

Notre programme est en E:\Java\examples\ dossier donc, nous écrirons ces commandes ci-dessous données dans l'image

C:\Users\user> E:
E:\> cd Java\examples
E:\Java\Examples>

Étape 3 :- Compilez le programme avec la commande javac FirstProgram.java

> javac FirstProgram.java

Remarquez, auparavant, nous n'avions qu'un seul fichier FirstProgram.java dans notre dossier. Maintenant, nous avons aussi un autre fichier FirstProgram.class

Étape 4 :- Exécutez le nouveau fichier FirstProgram.class avec la commande java FirstProgram

> java FirstProgram

Sortie :-

Bonjour, le monde !

Explication du programme Java Hello World

//Hello, World program in Java

Cette instruction est un commentaire et elle est facultative. Toute ligne commençant par // est un commentaire complètement ignoré par le compilateur. Il est utilisé pour une meilleure compréhension et fonctionnalité du programme.

 class FirstProgram {
     //---
 }

Java est un langage de programmation orienté objet. Chaque programme Java commence par une définition de classe. Dans notre programme, le nom de la classe est FirstProgram.

 public static void main(String[] args){
     //---
 }

C'est la méthode principale des programmes Java. Chaque programme Java doit contenir la méthode principale, sans la méthode principale, nous ne pouvons pas exécuter un programme Java. Ici, l'exécution commence à partir de la méthode principale. Notez que la méthode principale se trouve à l'intérieur de la définition de la classe. La méthode principale doit être accessible partout dans le programme, son accessibilité est donc public . Le public, le privé, le défaut et le protégé sont des modificateurs d'accès.

System.out.println("Hello, World!");

Cette instruction imprimera la chaîne à l'intérieur des guillemets, c'est-à-dire Hello, World ! à l'écran de sortie standard. Le System est une classe prédéfinie, out est un objet à l'intérieur de la classe System et println() est une méthode d'object out. Notez que cette instruction se trouve à l'intérieur de la méthode principale et que la méthode principale se trouve à l'intérieur de la définition de classe. Le point-virgule utilisé à la fin de l'instruction indique que l'instruction est terminée.

Code source

Le programme que nous avons écrit s'appelle le code source. Les éditeurs de texte sont utilisés pour développer le code source. Le code source est écrit en langage de programmation Java donc, le code source sera enregistré avec l'extension .java . C'est pourquoi nous avons enregistré notre programme sous FirstProgram.java. Le code source est indépendant de la plate-forme. Si nous avons écrit du code source dans un système d'exploitation Windows, nous pouvons également utiliser le même fichier dans un autre système d'exploitation, pas besoin d'écrire la deuxième fois. Le slogan de Java est WORA (écrire une fois, exécuter n'importe où).

Phase de compilation

JDK a à la fois un compilateur et une JVM. En utilisant l'invite de commande, nous pouvons communiquer avec le compilateur pour traduire le code source. Cela peut être fait par la commande javac , javac est un programme lui-même. Le compilateur prend le code source et vérifie la syntaxe du fichier de code source. S'il y a une erreur de syntaxe ou une faute d'orthographe, le compilateur donnera une erreur de temps de compilation, sinon il convertira le code source en code d'octet. Ce byte code sera enregistré dans notre système sous Name_Of_Class.class . Dans notre programme, le nom de la classe est FirstProgram donc, nous obtenons un fichier FirstProgram.class dans le répertoire courant où le code source était présent. Ce fichier .class est généré par le compilateur. Le code d'octet est également indépendant de la plate-forme.

Phase d'exécution

Un fichier .class ne contient pas de code natif de notre processeur informatique. Au lieu de cela, il contient des bytecodes. Le byte code est le langage natif de la machine virtuelle Java. Notre système d'exploitation ne comprend pas ce code d'octet. Ce code d'octet n'est compréhensible que par JVM. Donc, en utilisant une autre commande java nous pouvons exécuter le fichier .class. Le java est aussi un programme comme javac . Si une erreur logique est présente, nous obtenons une erreur d'exécution (l'erreur d'exécution est également appelée Exception) par JVM, sinon JVM traduit le code d'octet en langage machine natif (ensemble d'instructions que le processeur d'un ordinateur exécute directement). Dans cette phase, aucun fichier ne sera créé et la sortie apparaîtra à l'écran. Après l'achèvement de la phase d'exécution, le langage machine généré est détruit.

Quelques points importants

  • Les programmes Java sont compilés et exécutés à l'aide de fichiers binaires Java javac et java . Nous appelons ces deux fichiers binaires des « outils » en forme abrégée. Ces deux outils s'utilisent depuis l'invite de commande.
  • Où les fichiers Java doivent-ils être stockés, dans le dossier installé du logiciel Java (JDK) ou dans un autre répertoire ? Il n'est pas recommandé de stocker les fichiers source Java dans le répertoire d'installation du logiciel Java, car si nous désinstallons le logiciel Java actuel pour installer la prochaine version, tous nos fichiers source seront également supprimés. Ainsi, pour des raisons de sécurité, il est toujours recommandé de stocker les fichiers source Java dans un autre répertoire, et non dans le répertoire d'installation du logiciel Java (JDK).

Les commandes utilisées pour la compilation et l'exécution du programme Java sont javac et java. Maintenant, nous allons discuter des deux commandes.

La commande javac

Le javac La commande est utilisée pour compiler un seul ou un groupe de fichiers source Java (fichiers .java).

1. La syntaxe pour compiler un fichier source Java :-

javac [options] file.java

2. La syntaxe pour compiler plusieurs fichiers source Java :-

javac [options] file1.java file2.java file3.java

3. La syntaxe pour compiler tous les fichiers source Java dans le répertoire courant :-

javac [options] *.java

Diverses options pour la commande javac :-

Option Utilisé pour
-version Informations sur la version du JDK
-d répertoire (Enregistrer le fichier .class dans
répertoire particulier)
-cp Pour définir le chemin de classe
-verbose Afficher des messages sur
ce que fait le compilateur

Pour voir toutes les options de la commande javac tapez javac --help commande dans cmd.

La commande java

Le java La commande est utilisée pour exécuter un programme Java.

La syntaxe pour exécuter une classe :-

java [options] ClassName [args…]

Diverses options pour la commande java :-

Option Utilisé pour
-version Informations sur la version du JDK
-D définir les propriétés du système
-cp Pour définir le chemin de classe

Pour voir d'autres syntaxes et options de la commande java, utilisez java --help commande

Remarque :- Utilisation de javac commande, nous pouvons compiler n'importe quel nombre de fichiers source Java mais en utilisant java commande, nous ne pouvons exécuter qu'un seul fichier .class à la fois.

Le nom de la classe et le nom du fichier doivent-ils être identiques ?

Dans le programme Java hello world, le nom de la classe était FirstProgram et le nom du fichier était FirstProgram.java . Nous avons donc utilisé le même nom pour la classe et aussi pour le nom du fichier. Mais, ce n'est pas obligatoire. Nous pouvons utiliser un nom différent pour la classe et le fichier. Voir l'exemple ci-dessous :-

 //Test.java
 class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

Enregistrez ce fichier sous Test.java et compilez-le. Le fichier généré par le compilateur sera FirstProgram.java, exécutez-le.

> javac Test.java
> java FirstProgram

Sortie :-

Bonjour, le monde !

Lorsqu'une erreur se produit ?

L'erreur n'est survenue que si nous déclarons la classe comme publique.

// Test1.java
public class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }
> javac Test1.java
test1.java:1: error: class FirstProgram is public, 
should be declared in a file named FirstProgram.java
 public class FirstProgram{
        ^
 1 error

Conclusion :- Le nom du fichier et de la classe peut être différent, mais si nous déclarons la classe comme publique, le nom du fichier et le nom de la classe doivent être identiques.

Remarque :- Si vous travaillez avec un IDE pour développer, compiler et exécuter le programme Java, vous pouvez également obtenir une erreur. Dans IDE, la phase de compilation et d'exécution se fait avec des touches de raccourci, et non par des commandes données manuellement. Les touches de raccourci sont configurées comme, pour la compilation javac <filename> et pour l'exécution java <filename>. En raison de cette configuration, vous obtiendrez une erreur. Ainsi, il est recommandé d'utiliser le même nom pour le fichier et la classe.

Exécuter le programme Java sans générer de fichier bytecode

Nous avons appris précédemment que le code source est compilé puis le bytecode généré exécuté par la JVM. Certains langages comme Python et les langages de script n'ont pas besoin de deux phases, leurs programmes s'exécutent directement sans générer de nouveau fichier. À partir de Java11 à partir de nous pouvons exécuter directement le programme Java aussi. La compilation et l'exécution sont toutes deux effectuées à l'aide d'une seule commande java .

Enregistrez le programme ci-dessous sous Firstprogram.java

 //FirstProgram.java
 //Hello, World program in Java
 class Hello{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }
> java FirstProgram.java
Hello, World!

Aucun fichier .class ne sera généré par le compilateur et le programme Java s'exécute directement. De cette façon, l'apprentissage des programmes Java devient plus facile pour les débutants. Ils ne peuvent exécuter des programmes Java qu'en une seule étape.

Si une erreur de syntaxe est présente dans le programme, nous obtenons l'erreur de compilation et si une erreur logique est présente, nous obtenons une exception.

Nom de fichier et nom de classe dans ce cas

Notez que dans ce programme, le nom du fichier et le nom de la classe étaient différents. Donc, si nous n'utilisons que java pour la compilation et l'exécution, il n'est pas nécessaire que le nom de fichier et le nom de classe soient identiques. Lorsque nous travaillions avec javac commande pour la compilation et java commande pour l'exécution, il y avait une limitation selon laquelle si la classe est déclarée comme publique, le nom de fichier et le nom de classe doivent être identiques. Mais, ce n'est pas non plus nécessaire si nous n'utilisons que java commande pour la compilation et l'exécution.

//Test.java
public class Hello{
    public static void main(String[] args){
        System.out.println("Hello, World!");
    }
}

Compilez et exécutez-le en utilisant :- java Test.java

Bonjour, le monde !

Enregistrement du fichier .class dans un autre répertoire

Lorsque nous compilons notre programme Java à l'aide de la commande javac, le compilateur vérifie la syntaxe et si aucune erreur n'est trouvée, il génère un bytecode (traduction du fichier .java) et l'enregistre dans le fichier Classname.class dans le répertoire de travail actuel (où le fichier .java était présent) . Maintenant, la question est, pouvons-nous enregistrer le fichier .class généré par le compilateur dans un autre fichier ou répertoire ? Oui c'est possible. Pour cela, nous devons utiliser -d option du compilateur Java comme indiqué ci-dessous :-

javac -d path_of_folder_or_directory Example.java

Par exemple, nous avons un programme FirstProgram.java

 //FirstProgram.java
 //Hello, World program in Java
 class Hello{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

FirstProgram.java est enregistré dans le dossier D:\Java et nous voulons enregistrer le fichier généré par le compilateur Hello.class dans un autre répertoire C:\program puis nous écrirons la commande ci-dessous,

D:\Java> javac -d C:\program FirstProgram.java

En utilisant l'option de commande ci-dessus -d C:\program nous informons le compilateur d'enregistrer le fichier .class dans le lecteur C et le dossier "programme".

Remarque :- javac -d . FirstProgram.java est identique à javac FirstProgram.java

Ici, le point (.) représente le répertoire de travail actuel.

Amélioration de la version Java9 dans l'option -d

Jusqu'à la version java8, nous devons explicitement créer le dossier (dans notre cas "programme" dans le lecteur C), alors seul le fichier .class sera enregistré dans le dossier "programme". Si le dossier n'est pas disponible, le compilateur génère une erreur :- le répertoire est introuvable. À partir de la version java9, nous n'avons pas besoin de créer explicitement le dossier "program". Si le dossier "programme" n'y est pas disponible, le compilateur le crée automatiquement lui-même.

Nous pouvons également exécuter le fichier .class enregistré dans un autre répertoire à partir du répertoire de travail courant. Pour cela, nous devons définir des variables de chemin de classe. Nous en discuterons plus tard dans le sujet :- Définition des variables d'environnement de chemin de classe

Erreurs de compilation et d'exécution

L'erreur renvoyée par le compilateur au moment de la compilation est appelée erreurs de compilation . Ces erreurs sont générées en raison d'erreurs de syntaxe, telles que des fautes d'orthographe, une mauvaise utilisation des mots-clés, un point-virgule (;) manquant à la fin des instructions, etc.

Les erreurs générées par la JVM au moment de l'exécution sont appelées erreurs d'exécution ou exceptions . Ces erreurs sont générées en raison d'erreurs logiques, telles que l'exécution d'une classe sans méthode principale, l'accès à des valeurs de tableau avec le mauvais index, la division d'un nombre entier par 0, etc.

Utilisez un style cohérent

Il existe de nombreux styles pour écrire des programmes. Mais, donné ci-dessus est standard et la plupart des codes que vous exécutez seront très probablement écrits de cette façon. Nous vous suggérons d'adopter le standard Java dès le départ.

// Standard style 
class FirstProgram{
     public static void main(String[] args){
         System.out.println("Hello, World!");
     }
 }

Le style standard est meilleur que les styles ci-dessous,

// don't use this style 
class FirstProgram
 {
     public static void main(String[] args)
     {
         //It is recommended to not use this style
     }
 }
// don't use this style 
class FirstProgram
     {
         public static void main(String[] args)
             {
                 //Also, don’t use this style
             }
     }

Balise Java