Java : Premier programme



Java est un langage typé et orienté objet. Il est compilé et basé sur une architecture logicielle très particulière nécessitant une machine virtuelle Java. Il utilise les notions usuelles de la programmation orientée objet : la notion de classe, d'encapsulation, d'héritage, d'interface, de virtualité, de généricité, … Il est accompagné d'un ensemble énorme de bibliothèques standard couvrant de très nombreux domaines, notamment des bibliothèques graphiques. C'est un langage qui présente d'excellentes propriétés de portabilité du code. Son gros point faible est une relative lenteur, surtout si on le compare à des langages comme le C++. Cependant, ce défaut a été résolu en grande partie par l'introduction de la technologie JIT (compilateurJust-In-Time, en anglais « juste à temps »), qui compile le code à la première exécution, permettant une exécution quasiment aussi rapide qu'en C/C++.

Voici l'exemple d'un premier programme en Java : 

Le fichier source :

Ce programme doit être écrit dans le fichier Exemple.java.
public class Exemple {
        public static void main(String[] args) {
                System.out.println("Hello world!");
        }
}

Explications sur le langage :

Ce programme est le classique Hello world. Comme son nom l'indique, ce programme va afficher la phrase "Hello world" à l'écran. Analysons-le ligne par ligne :
public class Exemple {


Cette ligne déclare une classe publique que nous appelons Exemple.
Un fichier .java ne peut contenir qu'une seule classe publique et le fichier doit porter le nom de cette classe. Ainsi, le fichier de ce premier exemple s'appellera obligatoirement Exemple.java (en respectant la casse).
Ce système de nommage permet au compilateur et à l'interpréteur de trouver les fichiers correspondant à une classe.

public static void main(String[] args) {
Cette ligne déclare une méthode appelée main. Cette méthode est le point d'entrée du programme (la méthode appelée lorsqu'il sera exécuté).
Elle prend en argument un tableau de chaînes de caractères (String[] args) et ne retourne rien (void).
Cette méthode est publique et statique, ce qui sera expliqué plus loin.
System.out.println("Hello world!");
Cette dernière instruction invoque la méthode println de l'objet out se trouvant dans la classe System en lui passant en argument la chaîne Hello world!. L'exécution de cette méthode aura pour résultat l'affichage de Hello world!.
Cette ligne peut sembler obscure pour l'instant. Les détails seront abordés par la suite.

Compilation du fichier source :

Nous allons présenter la compilation de notre programme en utilisant le compilateur gratuit Java très répandu nommé Javac, disponible gratuitement auprès d'Oracle. Cependant, il faut savoir qu'il existe aussi de nombreux environnements de développement Java permettant de taper, compiler, exécuter ou débuguer des programmes dans ce langage.
Tapez le programme précédent et sauvegardez le dans un fichier Exemple.java (pour la raison expliquée précédemment) et tapez dans une fenêtre :
Invite de commande DOSTerminal Unix
> javac Exemple.java
> dir
Exemple.class
Exemple.java
>
$ javac Exemple.java
$ ls
Exemple.class
Exemple.java
$
Le compilateur Javac a produit le fichier Exemple.class, contenant le code intermédiaire. Ce fichier n'est normalement pas éditable, ce qui peut garantir le copyright.
En cas de problèmes...
Voici les points à vérifier selon le type de problème :
Le système indique que le compilateur est introuvable 
  1. Vérifiez que vous avez installé un kit de développement Java (le JDK) et pas simplement un environnement d'exécution (JRE) qui ne comporte pas les outils de compilation.
  2. Vérifiez que le chemin du répertoire bin contenant le compilateur javac (javac.exe sous Windows) est dans la liste de la variable d'environnement PATH.
Le compilateur se lance mais affiche une erreur de classe non trouvée 
  1. Si la classe ne déclare aucun paquetage (package), vérifiez que vous lancez la commande depuis le répertoire où se trouve le fichier source (*.java). Changez de répertoire si nécessaire avant de recommencer.
  2. Sinon, vous devez lancer la commande depuis le répertoire parent du paquetage racine, en donnant le chemin relatif du fichier source depuis ce répertoire parent.
  3. Dans les deux cas ci-dessus, en plus de changer de répertoire courant, il peut être nécessaire d'ajouter le chemin de ce répertoire dans le classpath. Cela peut être fait soit dans la ligne de commande avec l'option -classpath (ou -cp), soit dans la variable d'environnement CLASS_PATH.
Le compilateur se lance mais affiche une erreur de syntaxe 
  1. Vérifiez le contenu du fichier source. Pour compiler les exemples de ce livre, le mieux est de faire un copier-coller complet du code.
  2. Assurez-vous de compiler le bon fichier source et pas un autre.

Exécution du programme :

Java est une machine virtuelle java fournie par Oracle et disponible pour de nombreux environnements.
Pour exécuter notre code intermédiaire, il faut taper :
java Exemple
L'exécution du programme affiche dans une fenêtre console la fameuse phrase Hello world!.
En cas de problèmes...
Voici les points à vérifier selon le type de problème :
Le système indique que la commande java est introuvable 
  1. Vérifiez que vous avez installé un kit de développement Java (le JDK).
  2. Vérifiez que le chemin du répertoire bin contenant l'interpréteur java (java.exe sous Windows) est dans la liste de la variable d'environnement PATH.
L'interpréteur se lance mais affiche une erreur de classe non trouvée 
  1. Vérifiez que vous avez compilé le fichier source *.java (voir section précédente) sans erreur, c'est-à-dire que vous avez obtenu un fichier compilé *.class.
  2. Si la classe ne déclare aucun paquetage (package), vérifiez que vous lancez la commande depuis le répertoire où se trouve le fichier compilé (*.class). Changez de répertoire si nécessaire avant de recommencer.
  3. Sinon, vous devez lancer la commande depuis le répertoire parent du paquetage racine, en donnant le nom complet de la classe (incluant le nom du paquetage).
  4. Dans les deux cas ci-dessus, en plus de changer de répertoire courant, il peut être nécessaire d'ajouter le chemin de ce répertoire dans le classpath. Cela peut être fait soit dans la ligne de commande avec l'option -classpath (ou -cp), soit dans la variable d'environnement CLASS_PATH.
L'interpréteur se lance mais rien ne s'affiche, ou le comportement n'est pas le même 
  1. Vérifiez le contenu du fichier source. Pour compiler les exemples de ce livre, le mieux est de faire un copier-coller complet du code.
  2. Assurez-vous de lancer la bonne classe principale et pas une autre.

1 commentaire:

  1. bonjour, unee petite présentation. Java a un fonctionnement particulier, mais avant, voyons comment fonctionnent d'autres langages. Prenons par exemple le C, langage très connu et utilisé, le noyau Linux est d'ailleurs codé en C. On programme donc en C en écrivant le code, appelé code source, dans son éditeur. Mais la machine ne peut pas l'interpréter tel quel... Il faut donc le transformer en code machine compréhensible par votre PC. On utilise donc un compilateur qui va faire de ce code source composé de lettres, accolades, parenthèses, chiffres... une suite de 0 et de 1, c'est à dire un code binaire, compréhensible directement par votre processeur. C'est donc aussi pour cela qu'un programme compilé sur Windows avec un processeur Intel Pentium ne fonctionnera pas sur un Mac OS avec un processeur G4 par exemple.
    et je vous propose une formation Java: https://www.mindtechub.com/formation-programmation.html

    RépondreSupprimer

Suivez nous sur facebook