Programmation Java/Bases du langage

Un livre de Wikilivres.
Aller à : navigation, rechercher


Un programme Java est une suite d'instructions exécutées de manière séquentielle. D'une manière générale, les instructions sont séparées par des points-virgules « ; ».

Ces instructions s'exécutent de gauche à droite et de haut en bas. Elles peuvent être organisées dans des blocs.

Point d'entrée du programme[modifier | modifier le wikicode]

Tout programme Java contient au moins une classe[1], nommée par convention avec une majuscule contrairement aux méthodes. De plus, il nécessite un point d'entrée. Pour un programme simple, le point d'entrée est la méthode "main" qui doit être publique, statique et située dans une classe qui elle même doit être publique (d'où les mots-clés public et static) :

public class ClassTest {
    public static void main(String args[]) {
        // Instructions du programme
    }
}

L'argument args de cette méthode contient les paramètres passés au programme par la ligne de commande.

D'autres types de programmes, comme les applets, les servlets ou encore les applications Android, utilisent d'autres méthodes comme point d'entrée.

Blocs d'instructions[modifier | modifier le wikicode]

Un bloc d'instructions est une suite d'instructions commençant par une accolade ouvrante ( { ) et se terminant par une accolade fermante ( } ).

Un bloc d'instructions est considéré comme une seule instruction par les instructions for, while, if, else et case. Nous détaillerons cela plus loin.

Ce bloc délimite également la portée des variables. Toute variable déclarée dans ce bloc n'est accessible qu'à partir de ce bloc, et n'existe que durant l'exécution du bloc.

Commentaires[modifier | modifier le wikicode]

Pour plus de détails voir : Programmation Java/Commentaires.

Les commentaires sont, en programmation informatique, des portions du code source ignorées par le compilateur. Ils sont très pratiques pour préciser quelque chose ou pour "mettre de coté" du code sans le supprimer. Java permet d'insérer des commentaires en utilisant deux syntaxes différentes :

  • La séquence // permet d'insérer un commentaire sur une seule ligne, qui se termine donc à la fin de la ligne.
  • La séquence /* permet d'insérer un commentaire sur plusieurs lignes. La séquence */ marque la fin du commentaire. En d'autres termes, tout ce qui est situé entre /* et */ est considéré comme faisant partie du commentaire.

Exemple :

// Commentaire sur une ligne
public class /* un commentaire au milieu de la ligne */ Exemple {
    /*
        Commentaire sur
        plusieurs lignes
        ...
    */
    public static void main(String[] args) {
    }
}

Commentaire Javadoc[modifier | modifier le wikicode]

Les commentaires normaux sont totalement ignorés par le compilateur Java.

En revanche, certains commentaires sont interprétés par le générateur automatique de documentation Javadoc.

Ces commentaires commencent par la séquence /** et se terminent par */. Le contenu décrit l'entité qui suit (classe, interface, méthode ou attribut), suivi d'une série d'attributs dont le nom commence par un arobase @.

La documentation générée étant au format HTML, il est possible d'insérer des balises dans la description.

Exemple :

/**
    Une classe pour illustrer les commentaires Javadoc.
    @author Moi :-)
*/
public class Exemple {
    /**
        Une méthode <b>main</b> qui ne fait rien.
        @param args Les arguments de la ligne de commande.
    */
    public static void main(String[] args) {
    }
}

En fait, il existe un attribut Javadoc qui est pris en compte par le compilateur : l'attribut @deprecated. Cet attribut marque une classe, une méthode ou une variable comme obsolète. Ce qui signifie que si une autre classe l'utilise un avertissement est affiché à la compilation de cette classe.

Exemple :

/**
    Une méthode obsolète. Il faut utiliser get() à la place.
    @deprecated
*/
public Object getElement(int index)
{ ... }

/**
    Une nouvelle méthode.
*/
public Object get(int index)
{ ... }

Cet attribut permet de modifier une bibliothèque de classe utilisée par plusieurs applications, en la laissant compatible avec les applications utilisant l'ancienne version, mais en indiquant que les anciennes classes / méthodes / variables ne doivent plus être utilisées et pourraient ne plus apparaître dans une version ultérieure.

Références[modifier | modifier le wikicode]

  1. Kathy Sierra, Bert Bates, Java : tête la première, O'Reilly Media, Inc., 2004