Introduction à Java

Java est un langage de programmation orientée objet largement utilisé, conçu pour être portable sur diverses plateformes.

Définition programmation orientée

La programmation orientée objet consiste à organiser le code en objets interagissant les uns avec les autres.

Le même code Java peut fonctionner sur différents systèmes d'exploitation sans modification.

Les Diffèrent type d'objet

Classe

Une classe en Java est comme un plan ou un modèle à partir duquel des objets sont créés. Elle définit un type de données en encapsulant les données et les méthodes nécessaires pour opérer sur ces données. Une classe est une structure de base du langage Java.

 public class Voiture {
    // Attributs de la classe
    String couleur;
    int annee;

    // Méthode de la classe
    void klaxonner() {
        System.out.println("Tut tut !");
    }
}

Objet

Un objet est une instance d'une classe. Lorsque tu crées un objet, tu crées une instance d'une classe avec un état spécifique et la capacité d'interagir avec les méthodes définies dans la classe.

	public class Main {
	    public static void main(String[] args) {
	        // Création d'un objet 'maVoiture' de la classe Voiture
	        Voiture maVoiture = new Voiture();
	
	        // Accès aux attributs et méthodes de l'objet
	        maVoiture.couleur = "Rouge";
	        maVoiture.annee = 2021;
	        maVoiture.klaxonner();  // Affiche: Tut tut !
	    }
	}


Explications détaillées

Instructions pour exécuter l'exemple

  1. Copie le code : Copie tout le bloc de code ci-dessus.
  2. Colle dans un fichier : Ouvre un éditeur de texte, colle le code et sauvegarde le fichier sous le nom Voiture.java.
  3. Ouvre le terminal : Ouvre un terminal ou une invite de commande.
  4. Compile le fichier :

Les Liste

En Java, une liste est une collection ordonnée d'éléments. Contrairement aux tableaux, les listes peuvent grandir et rétrécir dynamiquement, offrant ainsi plus de flexibilité pour gérer des données qui changent de taille au cours de l'exécution d'un programme.

Exemple :

ArrayList<String> liste = new ArrayList<>();
liste.add("Pomme");
liste.add("Banane");
liste.add("Cerise");

// Afficher un élément spécifique
System.out.println(liste.get(0)); // Affiche "Pomme"
Tip

Un guide détaillé sur les listes en Java est disponible via ce lien :

Faire une liste en Java

Syntaxe de Base

Semicolons

En Java, chaque instruction est terminée par un point-virgule (;). Cela indique la fin d'une commande logique.

java

	int x = 10;  // Déclaration d'une variable avec initialisation
	x = 20;  // Modification de la valeur de la variable
	System.out.println(x);  // Affiche la valeur de 'x'

Commentaires

Les commentaires en Java sont des lignes que le compilateur ignore. Ils sont utilisés pour documenter le code.

	// Ceci est un commentaire sur une ligne
	
	/*
	Ceci est un commentaire
	sur plusieurs lignes
	*/

Variables

Les variables en Java sont des conteneurs pour stocker des données. Tu dois déclarer le type de la variable et son nom.

int age = 30;  // Déclare une variable 'age' de type 'int' avec la valeur 30
double prix = 19.99;  // Déclare une variable 'prix' de type 'double'
boolean estAllumé = false;  // Déclare une variable 'estAllumé' de type 'boolean'

Méthodes

Les méthodes en Java sont des blocs de code conçus pour effectuer une tâche spécifique, réduisant ainsi la redondance du code. Une méthode est définie dans une classe et peut être appelée pour effectuer des actions.

java

void direBonjour() {
   System.out.println("Bonjour !");
}
n'


Premiers pas avec Java

Une fois Java installé, tu peux écrire ton premier programme.

Écrire un programme simple

Voici un exemple simple de code Java, un programme qui affiche "Bonjour, monde !" :

java

public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("Bonjour, monde !");
   }
}

Explications :

Compilation et exécution

Pour exécuter le programme Java :

  1. Sauvegarde le fichier : Sauvegarde le code dans un fichier appelé HelloWorld.java.
  2. Ouvre le terminal ou l'invite de commandes.
  3. Compile le programme :
java

javac HelloWorld.java

  1. Ceci crée un fichier HelloWorld.class, qui est le bytecode Java de ton programme.
  2. Exécute le programme compilé :
java

java HelloWorld

Méthodes en Java

Les méthodes en Java sont utilisées pour exécuter des actions spécifiques. Elles permettent de structurer le code de manière à le rendre réutilisable, plus lisible, et plus facile à maintenir.

public class Calculatrice {
    
    // Méthode pour additionner deux nombres
    public int ajouter(int a, int b) {
        return a + b;
    }

    // Méthode pour soustraire deux nombres
    public int soustraire(int a, int b) {
        return a - b;
    }
}

Utilisation des objets

Un objet est une instance d'une classe. Pour utiliser les méthodes définies, nous devons créer un objet de cette classe.

public class TestCalculatrice {
    public static void main(String[] args) {
        Calculatrice maCalc = new Calculatrice();
        
        int resultatAddition = maCalc.ajouter(5, 3);
        int resultatSoustraction = maCalc.soustraire(5, 3);

        System.out.println("Addition: " + resultatAddition);
        System.out.println("Soustraction: " + resultatSoustraction);
    }
}

Collections en Java

Java fournit une riche bibliothèque de classes de collections qui sont utilisées pour stocker des groupes d'objets. Les collections les plus utilisées sont les Listes, les Ensembles (Sets) et les Cartes (Maps).

Listes

Les listes permettent de stocker des séquences ordonnées d'éléments.

Tip

Un guide détaillé sur les listes en Java est disponible via ce lien :

Faire une liste en Java

Ensembles (Sets)

Un Set en Java est une collection qui n'accepte pas les doublons. Cela signifie que chaque élément peut apparaître au maximum une fois dans le Set.
C'est très utile pour gérer des ensembles de données où l'unicité est importante.

Exemple
import java.util.HashMap;
import java.util.Map;

// Classe principale pour tester la carte de personnes
public class TestMapComplexe {
    public static void main(String[] args) {
        Map<Integer, Personne> annuaire = new HashMap<>();
        annuaire.put(1, new Personne(1, "Émile"));
        annuaire.put(2, new Personne(2, "Charles"));

        // Accéder et afficher une personne par son ID
        Personne p = annuaire.get(1);
        System.out.println("Personne récupérée: " + p);
    }
}
Exemple avancé : Ensemble de personnes

Dans cet exemple, nous allons gérer un ensemble de personnes, où chaque personne est unique basée sur son identifiant.

import java.util.HashSet;
import java.util.Set;

// Classe Personne avec les attributs id et nom
class Personne {
    private int id;
    private String nom;

    // Constructeur pour initialiser les attributs de la classe Personne
    Personne(int id, String nom) {
        this.id = id;
        this.nom = nom;
    }

    // Redéfinition de la méthode hashCode pour utiliser l'identifiant comme code de hachage
    @Override
    public int hashCode() {
        return id;
    }

    // Redéfinition de equals pour comparer deux personnes basées sur leur identifiant
    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null || getClass() != obj.getClass()) return false;
        Personne personne = (Personne) obj;
        return id == personne.id;
    }

    // Méthode toString pour retourner une représentation en chaîne de la personne
    @Override
    public String toString() {
        return "Personne{" +
                "id=" + id +
                ", nom='" + nom + '\'' +
                '}';
    }
}

// Classe principale pour tester l'ensemble des personnes
public class TestSetComplexe {
    public static void main(String[] args) {
        Set<Personne> personnes = new HashSet<>();
        personnes.add(new Personne(1, "Émile"));
        personnes.add(new Personne(2, "Charles"));
        personnes.add(new Personne(1, "Émile")); // Ne sera pas ajouté, ID identique

        // Boucle pour afficher chaque personne de l'ensemble
        for (Personne p : personnes) {
            System.out.println(p);
        }
    }
}

Cartes (Maps)

Une Map en Java est une collection de paires clé-valeur où chaque clé est unique. Elle permet un accès rapide aux valeurs à l'aide des clés.

Exemple
import java.util.HashMap;
import java.util.Map;

public class TestMap {
    public static void main(String[] args) {
        Map<String, Integer> stockFruits = new HashMap<>();
        stockFruits.put("Pomme", 30);
        stockFruits.put("Banane", 15);

        System.out.println("Stock de Pommes : " + stockFruits.get("Pomme"));
    }
}
Exemple avancé : Cartographie de personnes par ID

Cet exemple montre comment on pourrait gérer un annuaire de personnes en utilisant leur ID comme clé.

import java.util.HashMap;
import java.util.Map;

// Classe principale pour tester la carte de personnes
public class TestMapComplexe {
    public static void main(String[] args) {
        Map<Integer, Personne> annuaire = new HashMap<>();
        annuaire.put(1, new Personne(1, "Émile"));
        annuaire.put(2, new Personne(2, "Charles"));

        // Accéder et afficher une personne par son ID
        Personne p = annuaire.get(1);
        System.out.println("Personne récupérée: " + p);
    }
}

Programme intégré utilisant Listes, Sets et Maps - Explication détaillée

Nous allons créer un système de gestion pour une bibliothèque qui utilise des listes pour stocker des livres, des ensembles pour garantir l'unicité, et des cartes pour un accès rapide.

import java.util.*;

// Classe Livre avec des attributs pour titre, auteur, et identifiant
class Livre {
    private String titre;
    private String auteur;
    private int id;

    Livre(int id, String titre, String auteur) {
        this.id = id;
        this.titre = titre;
        this.auteur = auteur;
    }

    // Redéfinition de hashCode pour utiliser l'identifiant comme code de hachage
    @Override
    public int hashCode() {
        return id;
    }

    // Redéfinition de equals pour comparer deux livres basés sur leur identifiant
    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null || getClass()

 != obj.getClass()) return false;
        Livre livre = (Livre) obj;
        return id == livre.id;
    }

    // Méthode toString pour retourner une représentation en chaîne du livre
    @Override
    public String toString() {
        return "Livre{" +
                "titre='" + titre + '\'' +
                ", auteur='" + auteur + '\'' +
                '}';
    }
}

// Classe principale pour gérer une bibliothèque
public class GestionBibliotheque {
    public static void main(String[] args) {
        List<Livre> livres = new ArrayList<>();
        Set<Livre> catalogue = new HashSet<>();
        Map<Integer, Livre> indexParId = new HashMap<>();

        // Création et ajout de livres
        Livre livre1 = new Livre(1, "Le Petit Prince", "Antoine de Saint-Exupéry");
        Livre livre2 = new Livre(2, "1984", "George Orwell");

        livres.add(livre1);
        livres.add(livre2);

        catalogue.add(livre1);
        catalogue.add(livre2);

        indexParId.put(livre1.id, livre1);
        indexParId.put(livre2.id, livre2);

        // Affichage des livres
        System.out.println("Livres dans la liste:");
        for (Livre l : livres) {
            System.out.println(l);
        }

        System.out.println("Livres dans le catalogue:");
        for (Livre l : catalogue) {
            System.out.println(l);
        }

        System.out.println("Livres par ID:");
        for (Integer id : indexParId.keySet()) {
            System.out.println("ID: " + id + " - " + indexParId.get(id));
        }
    }
}

Chaque partie du code est maintenant accompagnée de commentaires détaillés pour faciliter la compréhension. Si vous avez d'autres questions ou besoin d'explications supplémentaires, n'hésitez pas à demander.


Conclusion

Ces exemples montrent comment Java permet de structurer et manipuler des données de manière efficace. Chaque élément du code est documenté pour faciliter la compréhension, en cohérence avec votre pratique. En continuant d'explorer ces concepts, vous pourrez développer des applications Java robustes et efficaces.

.
.
.
.
.
.
.
.
.
.


Vous avez lu cette page jusqu'au bout. Bravo et merci.

Ce guide a été rédigé avec l'aide d'une intelligence artificielle.
Votre avis nous intéresse! N'hésitez pas à nous faire part de vos retours, qu'ils soient positifs ou négatifs.

.
.
.
.
.
.
.
.
.

Veuillez cocher la case correspondante si vous êtes intéressé par l'une des options suivantes.
Je serai intéressé pour avoir :

.
.
.
.
.
.

Retour à l'accueil Retour à l'accueil pour aller plus loin
Bienvenue mention légale d'un autre site internet (je n'ai pas eu le temps de faire les miennes) Faire une liste en Java