Mots-clés, identificateurs et conventions de nommage en Java

03 Sep 2019 03 Sep 2019 6416 vues ESSADDOUKI Mostafa 10 min de lecture
Introduction
1 Nouveautés de Java 11 2 Différences entre JDK, JRE et JVM 3 Structure d'un programme Java - Hello World 4 Mots clés et conventions de dénomination en Java 5 Types de données intégrés en Java 6 Les variables en Java 7 Classes enveloppe - Number, Integer, Double ... 8 Lire les entrées clavier en Java
Structures de contrôle
9 Les opérateurs en Java 10 Les structures conditionnelles en Java 11 Les boucles en Java 12 Instructions de contrôle de boucle - break, continue
Chaines de caractères
13 Les chaines en Java - API String 14 Les chaines en Java - StringBuffer et StringBuilder 15 Les expressions régulières en Java
Programmation OO
16 Objets et classes en Java 17 Modificateurs d'accès Java - public, private, protected et package 18 Méthodes et surcharge des méthodes en Java 19 les constructeurs en Java 20 L'héritage en Java 21 Classes abstraites en Java 22 Interfaces et héritage multiple en Java 23 Les classes imbriquées en Java 24 Les singletons en Java 25 Classes et méthodes génériques 26 Interface fonctionnelle et expressions Lambda en Java
Tableaux et collections
27 Les tableaux en Java 28 Classe Arrays - java.util.Arrays 29 Les listes dynamiques - java.util.ArrayList 30 Les listes chaînées en Java - java.util.LinkedList 31 HashSet en Java - java.util.HashSet 32 HashMap en Java - java.util.HashMap
Gestion des fichiers
33 Comprendre les fichiers informatiques 34 Utilisation des classes Path et Files en Java 35 Lecture et écriture dans un fichier en Java 36 Fichiers à accès aléatoire en Java
Gestion d'exceptions
37 Gestion d'exceptions en Java 38 Créez vos propres classes d'exception en Java
Programmation concurrente
39 Introduction à la programmation concurrente en Java - Multi-threads 40 classe java.lang.Thread 41 Synchronisation des threads en Java
Cours Java pour les débutants — Étape 4 sur 41

Mots-clés, identificateurs et conventions de nommage en Java

  Prérequis

Avoir écrit et exécuté un premier programme Java. Connaître la structure de base d'une classe Java.

  Objectifs

Connaître les mots-clés réservés du langage Java, maîtriser les règles de définition des identificateurs valides, et appliquer les conventions de nommage CamelCase en vigueur dans l'écosystème Java.

1. Les mots-clés Java

Définition — Mot-clé Les mots-clés (ou mots réservés) sont des mots du langage Java ayant une signification prédéfinie pour le compilateur. Ils ne peuvent pas être utilisés comme noms de variables, de classes ou de méthodes — toute tentative provoque une erreur de compilation.

1.1 Tableau des mots-clés Java

Java compte 51 mots-clés, regroupés par catégorie :

Types de données primitifs
Mot-clé Description Taille
boolean Valeur logique (true ou false) 1 bit
byte Entier signé 8 bits
short Entier signé 16 bits
int Entier signé 32 bits
long Entier signé 64 bits
float Nombre à virgule flottante simple précision 32 bits
double Nombre à virgule flottante double précision 64 bits
char Caractère Unicode non signé 16 bits
void Indique qu'une méthode ne retourne aucune valeur
Structure et contrôle de flux
Mot-clé Rôle
if / else Test conditionnel — branche vraie / branche alternative
switch / case / default Sélection multiple selon une valeur de test
for Boucle à compteur
while Boucle à condition en entrée
do Boucle à condition en sortie (do-while)
break Sort immédiatement d'une boucle ou d'un switch
continue Passe à l'itération suivante d'une boucle
return Renvoie le contrôle (et éventuellement une valeur) à l'appelant
Orienté objet
Mot-clé Rôle
class Déclare une nouvelle classe
interface Déclare une interface
extends Indique qu'une classe hérite d'une autre classe
implements Indique qu'une classe implémente une interface
abstract Classe ou méthode dont l'implémentation est déléguée aux sous-classes
new Crée une nouvelle instance d'une classe
this Référence à l'objet courant
super Référence à la classe parente
instanceof Teste si un objet est une instance d'une classe ou interface donnée
enum Déclare un type énuméré
Modificateurs d'accès et de comportement
Mot-clé Portée / Rôle
public Accessible partout dans l'application
protected Accessible dans la classe, le package et les sous-classes
private Accessible uniquement dans la classe où il est déclaré
static Appartient à la classe (non à une instance)
final Variable constante, méthode non redéfinissable, classe non héritable
abstract Méthode sans corps, à implémenter dans une sous-classe
synchronized Section critique en programmation multithread
volatile Variable modifiable de manière asynchrone par plusieurs threads
transient Variable exclue de la sérialisation
native Méthode implémentée en code natif (C/C++)
Gestion des exceptions
Mot-clé Rôle
try Délimite un bloc de code à surveiller pour les exceptions
catch Capture et traite une exception levée dans le bloc try
finally Bloc toujours exécuté, qu'une exception ait été levée ou non
throw Lève explicitement une exception
throws Déclare les exceptions qu'une méthode peut propager
assert Vérifie une condition supposée vraie — lève une erreur si fausse (mode debug)
Organisation et divers
Mot-clé Rôle
package Déclare le package auquel appartient la classe
import Importe une classe ou un package pour l'utiliser sans son nom complet
var Inférence de type locale (depuis Java 10) — le compilateur déduit le type
strictfp Force la conformité stricte IEEE 754 pour les calculs flottants

1.2 Valeurs littérales réservées

Littéral Type Valeur
true boolean Valeur booléenne vraie
false boolean Valeur booléenne fausse
null Référence Absence de référence à un objet
Mots réservés inutilisés Les mots-clés const et goto sont réservés par Java mais non utilisés dans le langage. Ils ne peuvent donc pas non plus servir d'identificateurs.

  Exemple — Erreurs liées aux mots-clés

//  Erreur : "class" est un mot-clé réservé
int class = 5;

//  Erreur : "true" est une valeur réservée
String true = "oui";

//  Correct : identificateurs valides
int nombreEleves = 30;
String statut = "actif";
Erreur de compilation
error: illegal start of expression
    int class = 5;
        ^

2. Les identificateurs Java

Définition — Identificateur Un identificateur est un nom choisi par le développeur pour désigner une entité du programme : classe, méthode, variable, constante ou étiquette. Il doit respecter des règles syntaxiques strictes définies par le langage.

2.1 Règles obligatoires

Règles de validité d'un identificateur Java
  1. Seuls les caractères alphanumériques (A-Z, a-z, 0-9), le dollar ($) et le trait de soulignement (_) sont autorisés.
  2. Un identificateur ne peut pas commencer par un chiffre.
  3. Les identificateurs sont sensibles à la casse : age, Age et AGE sont trois identificateurs distincts.
  4. La longueur n'est pas limitée, mais une longueur de 4 à 15 caractères est recommandée.
  5. Les mots-clés réservés ne peuvent pas être utilisés comme identificateurs.

  Exemple — Identificateurs valides et invalides

Identificateur Valide ? Raison
nombreEleves Oui Caractères alphanumériques, commence par une lettre
_compteur Oui Le trait de soulignement est autorisé en début
valeur2 Oui Chiffre en position non initiale
2valeur Non Commence par un chiffre
mon-age Non Le tiret (-) n'est pas autorisé
static Non Mot-clé réservé
prénom Non Caractère accentué non autorisé (bonne pratique)
Bonne pratique Même si Java autorise techniquement $ et _ en début de nom, réservez-les aux cas spéciaux (code généré automatiquement). Préférez des noms descriptifs sans ces caractères pour une meilleure lisibilité.

3. Conventions de nommage Java (CamelCase)

Définition — CamelCase Le CamelCase est une convention d'écriture dans laquelle les mots sont accolés sans espace, chaque nouveau mot commençant par une majuscule. Java utilise deux variantes : UpperCamelCase (première lettre majuscule) pour les classes, et lowerCamelCase (première lettre minuscule) pour les méthodes et variables.

3.1 Classes et interfaces — UpperCamelCase

Convention Les noms de classes et d'interfaces commencent par une majuscule, chaque mot suivant commence également par une majuscule. Utilisez des noms complets et descriptifs, évitez les abréviations.
//  Correct — UpperCamelCase
class GestionnaireDeComptes { }
interface ComportementAffichable { }
enum JourDeLaSemaine { LUNDI, MARDI, MERCREDI }

//  À éviter
class gestionnaire { }    // minuscule
class GestComp { }        // abréviation peu claire

3.2 Méthodes — lowerCamelCase

Convention Les noms de méthodes commencent par une minuscule et sont de préférence des verbes décrivant l'action effectuée.
//  Correct — lowerCamelCase, verbes d'action
void afficherResultat() { }
String getNom() { }
boolean estConnecte() { }
void calculerMoyenne(int[] notes) { }

//  À éviter
void AfficherResultat() { }   // majuscule initiale
void aff() { }                // trop abrégé

3.3 Variables — lowerCamelCase

Convention Les variables suivent le même style lowerCamelCase. Elles doivent être mnémoniques (leur nom indique leur intention). Les variables à une lettre sont réservées aux indices de boucles temporaires (i, j, k pour les entiers ; c, d pour les caractères).
//  Correct
int nombreEleves = 30;
double moyenneClasse = 14.5;
String nomEtudiant = "Mostafa";
boolean estMajeur = true;

// Variables temporaires de boucle — acceptable
for (int i = 0; i < n; i++) { }

//  À éviter
int NombreEleves = 30;   // majuscule initiale
int ne = 30;             // trop abrégé
int _score = 10;         // underscore initial déconseillé
int $valeur = 5;         // dollar déconseillé

3.4 Constantes — SCREAMING_SNAKE_CASE

Convention Les constantes (static final) s'écrivent entièrement en majuscules, les mots séparés par des traits de soulignement.
//  Correct
static final int TAILLE_MAX = 100;
static final double PI = 3.14159265;
static final String CODE_PAYS = "MA";

//  À éviter
static final int tailleMax = 100;   // lowerCamelCase pour une constante
static final int TAILLEMAX = 100;   // sans séparateur, illisible

3.5 Packages — tout en minuscules

Convention Les noms de packages sont toujours en minuscules. Par convention, ils commencent par le nom de domaine inversé de l'organisation.
//  Structure recommandée : domaine inversé + projet + module
package ma.um6p.cpge.algorithmes;
package com.entreprise.projet.utils;

//  À éviter
package Ma.UM6P.CPGE;   // majuscules
package monPackage;      // pas de domaine organisationnel

3.6 Tableau récapitulatif

Élément Convention Exemple
Classe / Interface UpperCamelCase GestionnaireDeComptes
Méthode lowerCamelCase (verbe) calculerMoyenne()
Variable lowerCamelCase (nom) nombreEleves
Constante SCREAMING_SNAKE_CASE TAILLE_MAX
Package tout en minuscules ma.um6p.cpge.algo
Enum (valeurs) SCREAMING_SNAKE_CASE JOUR_OUVRE

4. Exercice

Identifier et corriger les erreurs de nommage

Niveau : Débutant

Le code ci-dessous contient plusieurs violations des règles d'identificateurs et des conventions de nommage Java. Repérez toutes les erreurs et proposez une version corrigée.

package MonApplication;

class etudiant {
    static final int nb = 30;
    String Nom-Etudiant;
    double MoyenneGenerale;
    boolean 2emeAnnee;

    void Afficher-Infos() {
        int class = 0;
        System.out.println(Nom-Etudiant);
    }
}

Travail demandé

  1. Lister chaque erreur avec sa justification (règle ou convention violée).
  2. Réécrire le code en respectant toutes les règles et conventions Java.

  L'essentiel en bref

Java dispose de 51 mots-clés réservés qui ne peuvent jamais servir d'identificateurs. Un identificateur valide commence par une lettre, $ ou _, ne contient que des caractères alphanumériques et est sensible à la casse. Les conventions de nommage Java reposent sur le CamelCase : UpperCamelCase pour les classes et interfaces, lowerCamelCase pour les méthodes et variables, SCREAMING_SNAKE_CASE pour les constantes, et tout en minuscules pour les packages. Ces conventions ne sont pas des obligations du compilateur, mais elles sont universellement respectées dans l'écosystème Java pour garantir la lisibilité et la maintenabilité du code.

Sortie
// La sortie apparaîtra ici…
Prêt · Ctrl+Entrée pour exécuter

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.