Module Java.3 – Syntaxe & bases
Objectif
Maîtriser la syntaxe fondamentale de Java : structure Main, System.out.println, déclaration de variables, et premières instructions pour créer des programmes console.
Théorie
Structure d'un programme Java
Classe obligatoire
En Java, tout doit être dans une classe.
public class MonProgramme {
// Code ici
}
Règles :
- Nom de la classe = nom du fichier (MonProgramme.java)
- Une seule classe publique par fichier
- Sensible à la casse
Méthode main
Point d'entrée de toute application Java.
public class MonProgramme {
public static void main(String[] args) {
// Code exécuté au démarrage
System.out.println("Bonjour le monde");
}
}
Décomposition :
public: Accessible de partoutstatic: Méthode de classe (pas besoin d'instance)void: Ne retourne rienmain: Nom obligatoireString[] args: Arguments de la ligne de commande
Arguments :
java MonProgramme arg1 arg2 arg3
public static void main(String[] args) {
System.out.println("Nombre d'arguments : " + args.length);
for (int i = 0; i < args.length; i++) {
System.out.println("Argument " + i + " : " + args[i]);
}
}
System.out.println
Affiche du texte dans la console.
Méthodes d'affichage
println : Affiche avec saut de ligne
System.out.println("Ligne 1");
System.out.println("Ligne 2");
// Affiche :
// Ligne 1
// Ligne 2
print : Affiche sans saut de ligne
System.out.print("Bonjour ");
System.out.print("le monde");
// Affiche : Bonjour le monde
printf : Formatage (comme en C)
String nom = "Jean";
int age = 30;
System.out.printf("Nom : %s, Age : %d ans%n", nom, age);
// Affiche : Nom : Jean, Age : 30 ans
Formatage avec printf
Spécificateurs :
%s: String%d: int (décimal)%f: float/double%c: char%b: boolean%n: Saut de ligne
Exemples :
System.out.printf("Nombre : %d%n", 42);
System.out.printf("Décimal : %.2f%n", 3.14159);
System.out.printf("Texte : %s, Nombre : %d%n", "Test", 10);
Formatage avancé :
// Alignement
System.out.printf("%-10s : %5d%n", "Nom", 42); // Gauche
System.out.printf("%10s : %5d%n", "Nom", 42); // Droite
// Zéros devant
System.out.printf("%05d%n", 42); // 00042
// Précision
System.out.printf("%.2f%n", 3.14159); // 3.14
Variables
Déclaration
int age = 25;
String nom = "Jean";
double prix = 19.99;
boolean estActif = true;
char lettre = 'A';
Types primitifs
Entiers :
byte b = 127; // -128 à 127 (8 bits)
short s = 32767; // -32,768 à 32,767 (16 bits)
int i = 2147483647; // -2^31 à 2^31-1 (32 bits)
long l = 9223372036854775807L; // -2^63 à 2^63-1 (64 bits)
// Note : L à la fin pour long
Décimaux :
float f = 3.14f; // Simple précision (32 bits)
double d = 3.141592653589793; // Double précision (64 bits)
// Note : f à la fin pour float
Autres :
char c = 'A'; // Caractère (16 bits Unicode)
boolean b = true; // Booléen (true/false)
Types objets (Wrappers)
Integer nombre = 42;
Double decimal = 3.14;
Boolean bool = true;
Character caractere = 'A';
String texte = "Bonjour";
Auto-boxing/Unboxing :
Integer i = 42; // Auto-boxing (int → Integer)
int j = i; // Auto-unboxing (Integer → int)
String
Les chaînes sont des objets en Java.
String nom = "Jean";
String prenom = new String("Marie");
// Concaténation
String complet = nom + " " + prenom;
String avecNombre = "Age : " + 30;
// Méthodes
nom.length(); // Longueur
nom.toUpperCase(); // Majuscules
nom.toLowerCase(); // Minuscules
nom.equals("Jean"); // Comparaison (pas ==)
nom.substring(0, 2); // Sous-chaîne
Important : Utiliser equals() pour comparer, pas ==
String s1 = "test";
String s2 = "test";
String s3 = new String("test");
s1 == s2; // true (même référence dans le pool)
s1 == s3; // false (références différentes)
s1.equals(s3); // true (même contenu)
Constantes (final)
final int MAX_SIZE = 100;
final String SITE_NAME = "Mon Site";
final double PI = 3.14159;
// MAX_SIZE = 200; // Erreur : ne peut pas modifier
Convention : UPPER_SNAKE_CASE pour les constantes.
Règles de nommage
Variables et méthodes : camelCase
int agePersonne = 30;
String nomUtilisateur = "Jean";
void calculerMoyenne() {}
Classes : PascalCase
class Personne {}
class GestionnaireUtilisateurs {}
Constantes : UPPER_SNAKE_CASE
final int MAX_SIZE = 100;
final String API_URL = "https://api.exemple.com";
Packages : lowercase
package com.monprojet;
Commentaires
// Commentaire sur une ligne
/* Commentaire
sur plusieurs
lignes */
/**
* Documentation JavaDoc
* @param nom Le nom de la personne
* @return Message de salutation
*/
public String saluer(String nom) {
return "Bonjour " + nom;
}
Exercice
-
Programme de base
- Créez un programme qui affiche votre nom
- Utilisez System.out.println
- Testez printf avec formatage
-
Variables
- Déclarez des variables de tous les types primitifs
- Testez les opérations de base
- Affichez leurs valeurs
-
Arguments
- Créez un programme qui utilise args[]
- Passez des arguments à l'exécution
- Affichez tous les arguments
-
String
- Créez des chaînes de caractères
- Testez les méthodes (length, toUpperCase, etc.)
- Comprenez equals() vs ==
-
Formatage
- Utilisez printf avec différents formats
- Testez l'alignement et la précision
- Créez un affichage formaté
Quiz
-
Quel est le point d'entrée en Java ?
- start()
- main()
- run()
-
Comment afficher avec saut de ligne ?
- System.out.print()
- System.out.println()
- System.out.write()
-
Comment comparer deux String ?
- ==
- equals()
- compare()
-
Que signifie final en Java ?
- Variable globale
- Constante (ne peut pas être modifiée)
- Variable finale
-
Quel type pour un nombre décimal ?
- int
- double ou float
- long
Mini défi
Mission : Créer une application console interactive
Créez un programme Interaction.java qui :
-
Demande des informations
- Demandez le nom à l'utilisateur (simulez avec args ou Scanner)
- Demandez l'âge
- Demandez la ville
-
Affiche un message personnalisé
- Utilisez printf pour formater
- Affichez toutes les informations
- Ajoutez des sauts de ligne
-
Calculs
- Calculez l'année de naissance
- Affichez avec formatage
-
Formatage professionnel
- Utilisez printf avec alignement
- Créez un affichage structuré
- Ajoutez des séparateurs
Exemple de sortie :
========================================
INFORMATIONS PERSONNELLES
========================================
Nom : Jean
Age : 30 ans
Ville : Paris
Année naiss. : 1996
========================================
Critères :
- ✅ Utilisation correcte de main()
- ✅ Variables bien typées
- ✅ Formatage avec printf
- ✅ Code propre et commenté
- ✅ Gestion des arguments
Objectif : Maîtriser la syntaxe de base de Java et créer des programmes console interactifs.
Validation : Vous pouvez passer au module suivant quand vous maîtrisez main(), System.out, variables et pouvez créer des programmes console simples.