Introduction à Java
Java est un langage de programmation orientée objet largement utilisé, conçu pour être portable sur diverses plateformes.
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
- Objets : Tout en Java est associé à des classes et des objets, avec des comportements et des états définis.
- Classe : Une classe est un "plan" ou une définition pour les objets.
- Méthodes : Fonctions ou procédures conçues pour effectuer des actions spécifiques, définies à l'intérieur d'une classe.
- Variables : Éléments utilisés pour stocker des données, comme des nombres, du texte, etc.
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
- Classes et Objets :
Dans Java, uneclasse
sert de modèle pour créer desobjets
. La classeVoiture
contient des attributs pour définir ses propriétés et une méthode pour définir son comportement. - Attributs :
Les attributs commecouleur
etannee
dans la classeVoiture
sont utilisés pour stocker l'état de l'objet. Ici,couleur
stocke la couleur de la voiture, etannee
l'année de fabrication. - Méthode :
klaxonner()
est une méthode qui définit un comportement pour les objets de la classeVoiture
. Lorsqu'elle est appelée, elle affiche un message dans la console. - Objet :
maVoiture
est un objet de la classeVoiture
. Il est créé dansMain
avec l'expressionnew Voiture()
. Une fois créé, on peut accéder à ses attributs et appeler ses méthodes. - Modification d'Attributs :
Les lignesmaVoiture.couleur = "Rouge";
etmaVoiture.annee = 2021;
montrent comment modifier les attributs de l'objetmaVoiture
. - Appel de Méthode :
maVoiture.klaxonner();
montre comment appeler une méthode sur l'objetmaVoiture
.
- Copie le code : Copie tout le bloc de code ci-dessus.
- Colle dans un fichier : Ouvre un éditeur de texte, colle le code et sauvegarde le fichier sous le nom
Voiture.java
. - Ouvre le terminal : Ouvre un terminal ou une invite de commande.
- 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"
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.
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.
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 !" :
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Bonjour, monde !");
}
}
Explications :
public class HelloWorld
: Déclare une classe publique nomméeHelloWorld
.public static void main(String[] args)
: La méthode principale de tout programme Java, le point d'entrée.System.out.println("Bonjour, monde !");
: Affiche le texte entre guillemets.
Compilation et exécution
Pour exécuter le programme Java :
- Sauvegarde le fichier : Sauvegarde le code dans un fichier appelé
HelloWorld.java
. - Ouvre le terminal ou l'invite de commandes.
- Compile le programme :
javac HelloWorld.java
- Ceci crée un fichier
HelloWorld.class
, qui est le bytecode Java de ton programme. - Exécute le programme compilé :
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.
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 |