INTRODUCTION
Java est un langage de programmation orienté objet créé par Sun Microsystems (racheté par Oracle en 2010) en 1995. Il est conçu pour être simple, sécurisé et indépendant de la plateforme.
Le code Java est compilé en bytecode, un langage intermédiaire qui peut être exécuté sur n'importe quelle machine disposant d'une machine virtuelle Java (JVM). Cette caractéristique de portabilité rend Java très populaire pour développer des applications Web, des applications mobiles, des programmes embarqués et des jeux.
Voici quelques caractéristiques clés de Java :
Orienté objet : Java est un langage orienté objet, c'est-à-dire qu'il permet de créer des objets et de manipuler ces objets en utilisant des méthodes et des propriétés. L'orientation objet permet de modéliser de manière plus naturelle et structurée les concepts du monde réel dans le code.
Typage statique : Java est un langage à typage statique, c'est-à-dire que les variables et les expressions ont un type qui est défini lors de la compilation et qui ne peut pas être modifié à l'exécution. Cela permet de détecter les erreurs de type à un stade précoce du développement et de garantir une meilleure qualité du code.
Garbage collector : Java dispose d'un garbage collector, c'est-à-dire un mécanisme qui libère automatiquement la mémoire occupée par les objets qui ne sont plus utilisés. Cela permet aux développeurs de se concentrer sur leur code sans avoir à se préoccuper de la gestion de la mémoire.
Exception handling : Java gère les exceptions (erreurs) de manière explicite grâce à un système de gestion des exceptions. Cela permet de traiter de manière spécifique les erreurs et de maintenir le programme en état stable même en cas d'erreur.
Voici un exemple de code Java qui affiche "Hello, World!" à l'écran :
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Pour exécuter ce code, il faut d'abord le compiler avec le compilateur javac :
javac HelloWorld.java
Cela génère un fichier HelloWorld.class contenant le bytecode exécutable par la JVM. Pour exécuter ce bytecode, on utilise l'interpréteur java :
java HelloWorld
Voici quelques éléments supplémentaires sur Java :
Packages : Java utilise un système de packages pour organiser les classes et les interfaces. Un package est un namespace qui permet de donner un nom unique à chaque élément du code et d'éviter les conflits de nommage. Par exemple, la classe java.util.ArrayList appartient au package java.util.
Interfaces : Une interface est une spécification qui définit un ensemble de méthodes que les classes qui l'implémentent doivent implémenter. Les interfaces permettent de définir des contrats qui garantissent que les classes respectent certaines obligations.
Héritage : Java permet à une classe de hériter d'une autre classe, c'est-à-dire de réutiliser son code et de l'étendre. Cela permet de créer des hiérarchies de classes et de réduire la duplication de code.
Annotations : Java dispose d'un système d'annotations qui permet de définir des méta-informations sur le code. Les annotations peuvent être utilisées par les compilateurs, les outils de build ou les frameworks pour générer du code ou ajouter des comportements à des éléments du code.
Voici un exemple de code Java qui définit une interface Shape et une classe Circle qui l'implémente :
public interface Shape {
double getArea();
double getPerimeter();
}
public class Circle implements Shape {