Support de Cours de Programmation Java Licence I - 034239
Support de Cours de Programmation Java Licence I - 034239
Support de Cours de Programmation Java Licence I - 034239
JAVA
2023-2024
Programmation JAVA Licence 1 Génie Informatique
Généralités
Introduction
Java est un langage de programmation orienté objet qui a été créé dans les
années 1990 par James Gosling et son équipe chez Sun Microsystems.
Depuis lors, il est devenu l'un des langages les plus populaires et les plus
utilisés au monde, grâce à sa facilité d'utilisation, sa portabilité et sa sécurité.
Java est un langage orienté objet, ce qui signifie que tout dans Java est un
objet, y compris les variables, les méthodes et les classes. Les classes sont
la base de la programmation orientée objet en Java, et elles sont utilisées
pour encapsuler des données et des méthodes associées.
Historique :
Java a été créé en 1991 par une équipe de développeurs chez Sun
Microsystems, dirigée par James Gosling. Au départ, Java était conçu pour
être utilisé pour les appareils électroniques grand public, mais l'équipe a
rapidement réalisé son potentiel en tant que langage de programmation pour
le développement de logiciels.
P a g e 2 | 39
Programmation JAVA Licence 1 Génie Informatique
Une fois que vous avez configuré les variables d'environnement, vous
pouvez tester si Java est correctement installé et configuré en ouvrant un
terminal (ou une invite de commande sous Windows) et en entrant la
commande "java -version". Cette commande devrait afficher la version de
Java installée sur votre ordinateur.
P a g e 3 | 39
Programmation JAVA Licence 1 Génie Informatique
main et doit avoir le format suivant : public static void main(String[] args).
Les arguments passés à la méthode principale sont stockés dans le tableau
args.
System.out.println("Bonjour !");
Lorsque cette ligne de code est exécutée, la méthode println() est appelée
sur l'objet System.out, et le texte "Bonjour !" est affiché à la console.
Vous pouvez également appeler des méthodes que vous avez définies
dans votre propre code en utilisant la même syntaxe. Assurez-vous
P a g e 5 | 39
Programmation JAVA Licence 1 Génie Informatique
Résumé
Exemple d’utilisation :
System.out.println("Hello, world!");
Résultat :
Hello, world!
print() :
La méthode print() est similaire à println(), mais elle n'inclut pas de retour
à la ligne à la fin de la sortie. Voici sa signature :
Exemple d’utilisation :
System.out.print("Hello, ");
System.out.print("world!");
Résultat :
Hello, world!
P a g e 6 | 39
Programmation JAVA Licence 1 Génie Informatique
Exemple d’utilisation :
String name = "Alice";
int age = 25;
System.out.printf("Bonjour, je m'appelle %s et j'ai %d ans.", name, age);
Résultat :
Bonjour, je m'appelle Alice et j'ai 25 ans.
Résumé :
Ces méthodes println(), print() et printf() sont des outils essentiels pour
l'affichage de texte à la console en Java. Elles permettent de présenter des
informations à l'utilisateur de manière lisible et formatée. Vous pouvez
choisir celle qui correspond le mieux à vos besoins en matière de mise en
forme et de présentation des données.
L'objet Scanner est une classe de la bibliothèque stand ard de Java qui
permet de lire les entrées de l'utilisateur à partir de la console ou d'autres
flux d'entrée. Il fournit des méthodes pour récupérer différents types de
données saisies par l'utilisateur, tels que des entiers, des nombres à
virgule flottante, des chaînes de caractères, etc.
Voici les étapes pour récupérer une valeur saisie par l'utilisateur à l'aide de
l'objet Scanner :
P a g e 7 | 39
Programmation JAVA Licence 1 Génie Informatique
import java.util.Scanner;
2. Créer une instance de Scanner : Ensuite, vous devez créer une instance
de l'objet Scanner en utilisant le constructeur approprié :
1. Notez que la méthode nextLine() est utilisée pour récupérer une ligne
entière de texte, y compris les espaces.
2. Utiliser la valeur récupérée : Une fois que vous avez récupéré la valeur
saisie par l'utilisateur, vous pouvez l'utiliser dans votre programme selon
vos besoins. Par exemple, vous pouvez l'afficher à l'écran, l'utiliser pour
effectuer des calculs, etc.
P a g e 8 | 39
Programmation JAVA Licence 1 Génie Informatique
Voici un exemple complet qui illustre la récupération d'une valeur saisie par
l'utilisateur :
import java.util.Scanner;
public class UserInputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Veuillez saisir votre nom : ");
String name = scanner.nextLine();
System.out.print("Veuillez saisir votre âge : ");
int age = scanner.nextInt();
System.out.println("Bonjour " + name + "! Vous avez " + age + "
ans.");
scanner.close();
}
}
Dans cet exemple, nous récupérons le nom et l'âge saisis par l'utilisateur,
puis nous les utilisons pour afficher un message personnalisé à l'écran.
Il est également important de noter que l'objet Scanner peut générer des
exceptions, notamment InputMismatchException lorsque l'entrée ne
correspond pas au type attendu et NoSuchElementException lorsque
l'entrée est insuffisante. Il est recommandé d'utiliser des mécanismes de
gestion des exceptions pour gérer ces situations de manière appropriée.
Dans cet exemple, nous utilisons un bloc try-catch pour capturer une
éventuelle exception de type InputMismatchException. Si l'utilisateur
saisit une valeur qui n'est pas un entier, une exception sera levée et le
message d'erreur approprié sera affiché à l'écran.
Voici les types de données primitifs en Java, qui sont les types de base que
vous utiliserez pour déclarer vos variables :
P a g e 10 | 39
Programmation JAVA Licence 1 Génie Informatique
int[] tableau = { 1, 2, 3, 4 };
Dans cet exemple, nous avons déclaré des variables de différents types de
données et leur avons affecté des valeurs. Notez que les tableaux sont
déclarés en utilisant des crochets [] après le type de données.
Les opérateurs :
P a g e 11 | 39
Programmation JAVA Licence 1 Génie Informatique
P a g e 12 | 39
Programmation JAVA Licence 1 Génie Informatique
• Complément à un (~)
• Multiplication (*), division (/) et modulo (%)
• Addition (+) et soustraction (-)
• Inférieur (<), inférieur ou égal (<=), supérieur (>), supérieur ou égal (>=)
• Égalité (==) et différence (!=)
• ET logique (&&)
• OU logique (||)
• Assignation (=), addition et affectation (+=), soustraction et affectation (-=),
multiplication et affectation (*=), division et affectation (/=), modulo et
affectation (%=), ET logique et affectation (&=), OU logique et affectation (|=)
et XOR et affectation (^=)
// Opérateurs arithmétiques
int a = 10;
int b = 20;
int c = a + b; // c vaut 30
int d = a - b; // d vaut -10
int e = a * b; // e vaut 200
int f = b / a; // f vaut 2
int g = b % a; // g vaut 0
// Opérateurs de comparaison
int h = 5;
int i = 10;
boolean j = (h == i); // j vaut faux boolean
k = (h != i); // k vaut vrai
boolean l = (h < i); // l vaut vrai
boolean m = (h <= i); // m vaut vrai
P a g e 13 | 39
Programmation JAVA Licence 1 Génie Informatique
if (condition) {
if (condition) {
} else {
P a g e 14 | 39
Programmation JAVA Licence 1 Génie Informatique
switch (expression) {
case valeur1:
break;
case valeur2:
break;
default:
Il est important de noter que le mot-clé break est utilisé pour terminer chaque
case de la structure switch. Sans le mot-clé break, le code continuera à
s'exécuter jusqu'à la fin de la structure switch.
Exemple 1 - Structure if :
P a g e 15 | 39
Programmation JAVA Licence 1 Génie Informatique
int x = 5;
if (x > 0) {
} else {
Dans cet exemple, si la variable age est supérieure ou égale à 18, la chaîne
de caractères "Vous êtes majeur" sera affichée à l'écran. Si la variable age
est inférieure à 18, la chaîne de caractères "Vous êtes mineur" sera affichée.
int jour = 3;
switch (jour) {
case 1:
System.out.println("Lundi");
break;
case 2:
P a g e 16 | 39
Programmation JAVA Licence 1 Génie Informatique
System.out.println("Mardi");
break;
case 3:
System.out.println("Mercredi");
break;
case 4:
System.out.println("Jeudi");
break;
case 5:
System.out.println("Vendredi");
break;
case 6:
System.out.println("Samedi");
break;
case 7:
System.out.println("Dimanche");
break;
default:
P a g e 17 | 39
Programmation JAVA Licence 1 Génie Informatique
spécifiées dans les cases, le code à l'intérieur du bloc default sera exécuté
et la chaîne de caractères "Numéro de jour invalide" sera affichée.
Les boucles sont des structures de contrôle qui permettent de répéter des
instructions un certain nombre de fois ou tant qu'une condition est vraie. En
Java, il existe trois types de boucles : for, while et do-while.
System.out.println(i);
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
int i = 0;
P a g e 18 | 39
Programmation JAVA Licence 1 Génie Informatique
do {
System.out.println(i);
i++;
Il est important de noter que les boucles peuvent entraîner des boucles
infinies si les conditions de sortie ne sont pas correctement définies. Il est
donc important d'utiliser les boucles avec prudence et de s'assurer que la
condition de sortie sera toujours atteinte.
Break et Continue.
En Java, les instructions break et continue sont utilisées pour modifier le flux
d'exécution des boucles.
P a g e 19 | 39
Programmation JAVA Licence 1 Génie Informatique
if (i == 5) {
continue;
System.out.println(i);
Les tableaux :
int[] tableauEntiers;
P a g e 20 | 39
Programmation JAVA Licence 1 Génie Informatique
Dans cet exemple, nous avons déclaré un tableau de type entier avec le nom
tableauEntiers.
1. Initialisation par défaut : chaque élément du tableau est initialisé avec une
valeur par défaut en fonction de son type. Par exemple, les éléments d'un
tableau d'entiers seront initialisés à 0.
2. Initialisation avec des valeurs : chaque élément du tableau est initialisé avec
une valeur spécifique. Par exemple :
Dans cet exemple, nous avons initialisé un tableau d'entiers avec les valeurs
1, 2, 3, 4 et 5.
tableauEntiers[i] = i * 2;
P a g e 21 | 39
Programmation JAVA Licence 1 Génie Informatique
tableauEntiers[i] = i * 2;
}
Parcourir un tableau
En Java, il existe plusieurs façons de parcourir un tableau. Voici quelques
exemples :
Boucle for :
int[] tableau = { 3, 5, 2, 8, 9 };
System.out.println(tableau[i]);
Boucle for-each :
Une autre méthode pratique pour parcourir un tableau est d'utiliser une
boucle for-each. Cette boucle itère sur chaque élément du tableau dans
l'ordre, sans avoir besoin d'index explicite. Voici un exemple :
P a g e 22 | 39
Programmation JAVA Licence 1 Génie Informatique
Méthode Arrays.toString() :
Si vous souhaitez afficher tous les éléments d'un tableau en une seule
ligne, vous pouvez utiliser la méthode Arrays.toString(). Cette méthode
renvoie une chaîne de caractères représentant les éléments du tableau.
Voici un exemple :
import java.util.Arrays;
int[] tableau = { 3, 5, 2, 8, 9 };
System.out.println(Arrays.toString(tableau));
Les fonctions :
En Java, une fonction est une séquence de code qui effectue une tâche
spécifique et peut être appelée de n'importe où dans le programme. Les
fonctions sont également appelées méthodes en Java.
int somme = a + b;
return somme;
Dans cet exemple, "public" indique que la fonction est accessible depuis
n'importe où dans le programme, "static" indique que la fonction peut être
appelée sans avoir besoin d'une instance de la classe, "int" est le type de
la valeur de retour, "addition" est le nom de la fonction, et "a" et "b" sont les
arguments d'entrée.
System.out.println(resultat); // Affiche 12
Dans cet exemple, nous appelons la fonction "addition" avec les arguments
5 et 7, et stockons le résultat dans la variable "resultat". Ensuite, nous
affichons la valeur de "resultat" en utilisant la méthode "println" de l'objet
"System.out".
NB :
}
public static void bonjour() {
System.out.println("Bonjour");
}
}
}
public static void afficheTable2() {
P a g e 25 | 39
Programmation JAVA Licence 1 Génie Informatique
}
}
Passage de paramètres
1. Passage par valeur : Lorsque vous passez un paramètre par valeur à une
fonction en Java, une copie de la valeur de la variable est passée à la
fonction. Cela signifie que toute modification apportée à la variable à
l'intérieur de la fonction n'affectera pas la variable d'origine en dehors de la
fonction.
Exemple :
num++;
int value = 5;
increment(value);
P a g e 26 | 39
Programmation JAVA Licence 1 Génie Informatique
Sortie :
Valeur avant d'appeler la fonction : 5
Valeur à l'intérieur de la fonction : 6
Valeur après avoir appelé la fonction : 5
Exemple :
package welcome;
Résultats
P a g e 27 | 39
Programmation JAVA Licence 1 Génie Informatique
Retour de valeurs.
Résultat
La somme de 5 et 3 est : 8
Dans cet exemple, la fonction sum prend deux paramètres de type int et
calcule leur somme. La valeur calculée est ensuite renvoyée à l'aide du
mot-clé return. Lorsque la fonction sum est appelée depuis la fonction
main, le résultat est stocké dans la variable sumResult, puis affiché à
l'écran.
}
return -1; // retourne -1 si l'élément n'est pas trouvé
}
if (index != -1) {
System.out.println("L'élément " + targetValue + " a été trouvé à
l'index " + index);
} else {
System.out.println("L'élément " + targetValue + " n'a pas été
trouvé dans le tableau.");
}
}
Résultat
L'élément 8 a été trouvé à l'index 2
}
}
Attributs de classe
• Les attributs de classe sont des variables qui représentent les
caractéristiques des objets d'une classe.
• Exemple :
P a g e 30 | 39
Programmation JAVA Licence 1 Génie Informatique
Encapsulation :
l'encapsulation est le principe de cacher les détails internes d'une classe et
de permettre l'accès aux attributs uniquement par des méthodes
spécifiques. On utilise généralement les mots-clés private, public et
protected pour définir l'accès aux attributs.
Méthodes de classe
• Les méthodes de classe sont des fonctions qui définissent les actions que
les objets d'une classe peuvent effectuer.
• Exemple :
P a g e 31 | 39
Programmation JAVA Licence 1 Génie Informatique
Exemple :
Les méthodes de la classe Math
Méthode Math.sqrt()
• La méthode sqrt() de la classe Math permet de calculer la racine carrée
d'un nombre.
• Syntaxe : Math.sqrt(double a)
Exemple d'utilisation :
Méthode Math.abs()
• La méthode abs() de la classe Math retourne la valeur absolue d'un
nombre.
• Syntaxe : Math.abs(double a) pour les nombres réels, Math.abs(int a)
pour les nombres entiers.
Exemple d'utilisation :
P a g e 32 | 39
Programmation JAVA Licence 1 Génie Informatique
Méthode Math.random()
• La méthode random() de la classe Math génère un nombre aléatoire entre
0 (inclus) et 1 (exclus).
• Syntaxe : Math.random()
Exemple d'utilisation :
Méthode Math.pow()
• La méthode pow() de la classe Math permet de calculer la puissance d'un
nombre.
• Syntaxe : Math.pow(double a, double b)
Exemple d'utilisation :
Exemple d'utilisation :
Exemple d'utilisation :
P a g e 35 | 39
Programmation JAVA Licence 1 Génie Informatique
scanner.close();
P a g e 36 | 39
Programmation JAVA Licence 1 Génie Informatique
P a g e 37 | 39
Programmation JAVA Licence 1 Génie Informatique
45 copyOf() Crée une copie d'un tableau avec une taille Arrays java.util
spécifiée
P a g e 38 | 39
Programmation JAVA Licence 1 Génie Informatique
P a g e 39 | 39