Aller au contenu principal

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 partout
  • static : Méthode de classe (pas besoin d'instance)
  • void : Ne retourne rien
  • main : Nom obligatoire
  • String[] 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

  1. Programme de base

    • Créez un programme qui affiche votre nom
    • Utilisez System.out.println
    • Testez printf avec formatage
  2. Variables

    • Déclarez des variables de tous les types primitifs
    • Testez les opérations de base
    • Affichez leurs valeurs
  3. Arguments

    • Créez un programme qui utilise args[]
    • Passez des arguments à l'exécution
    • Affichez tous les arguments
  4. String

    • Créez des chaînes de caractères
    • Testez les méthodes (length, toUpperCase, etc.)
    • Comprenez equals() vs ==
  5. Formatage

    • Utilisez printf avec différents formats
    • Testez l'alignement et la précision
    • Créez un affichage formaté

Quiz

  1. Quel est le point d'entrée en Java ?

    • start()
    • main()
    • run()
  2. Comment afficher avec saut de ligne ?

    • System.out.print()
    • System.out.println()
    • System.out.write()
  3. Comment comparer deux String ?

    • ==
    • equals()
    • compare()
  4. Que signifie final en Java ?

    • Variable globale
    • Constante (ne peut pas être modifiée)
    • Variable finale
  5. 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 :

  1. Demande des informations

    • Demandez le nom à l'utilisateur (simulez avec args ou Scanner)
    • Demandez l'âge
    • Demandez la ville
  2. Affiche un message personnalisé

    • Utilisez printf pour formater
    • Affichez toutes les informations
    • Ajoutez des sauts de ligne
  3. Calculs

    • Calculez l'année de naissance
    • Affichez avec formatage
  4. 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.