0% ont trouvé ce document utile (0 vote)
3 vues11 pages

Introduction à la Programmation Java

Ce fascicule présente un cours de programmation Java pour les étudiants de 2ème année en Génie Logiciel, incluant des exercices pratiques sur la saisie de valeurs, la création de classes, et la manipulation de tableaux. Les étudiants apprendront à compiler et exécuter des programmes Java, ainsi qu'à utiliser des structures conditionnelles et itératives. Le document contient également des exercices variés pour renforcer les compétences en programmation Java.

Transféré par

Yasmine Ben amara
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues11 pages

Introduction à la Programmation Java

Ce fascicule présente un cours de programmation Java pour les étudiants de 2ème année en Génie Logiciel, incluant des exercices pratiques sur la saisie de valeurs, la création de classes, et la manipulation de tableaux. Les étudiants apprendront à compiler et exécuter des programmes Java, ainsi qu'à utiliser des structures conditionnelles et itératives. Le document contient également des exercices variés pour renforcer les compétences en programmation Java.

Transféré par

Yasmine Ben amara
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Département de l’Informatique

2 éme année licence Génie Logiciel

Fascicule TP
Programmation Java

2 ème annéee LGLSI


BENABBESS ANJA
Benabbessanja02@[Link]

Année universitaire 2025/2026


SOMMAIRE

Page

TP1: Introduction au langage Java 1

TP2: Intro ductio n au la ngage Java (suite) 6


Fascicule TP
Programmation Java

TP1: Introduction au langage Java


Objectifs

Saisie de valeurs.

it

1 Notions de cours
1.1 Compilation et exécution d’un programme Java
Avant de commencer à écrire du code Java, il est nécessaire d’installer Visual Studio ainsi que le
JDK (Java Development Kit), qui permet de compiler et d’exécuter les programmes Java.
Le code source Java doit être écrit dans un f ichier portant l’extension .java.
Une fois compilé, ce fichier génère un autre fichier avec l’extension .class contenant du bytecode.
C’est ce bytecode qui est interprété et exécuté par la machine virtuelle Java (JVM), incluse dans
le JDK.
Avec Visual Studio, l’ensemble de ces étapes (écriture, compilation et exécution) est facilité grâce à
l’environnement intégré de développement (IDE), qui offre une interface conviviale pour travailler
directement sur nos projets Java, au lieu de passer par une console en ligne de commande.

1.1.1 Avec un IDE


Plusieurs IDE Java existent sur le march é, comme par exemple NetBeans, Eclipse, IntelliJ, etc.
L’écritu re du code y est souvent assisté ainsi que la compilation et l’exécution qui sont lancées
d’un simple clic.

1.1.2 En mode console


Avec la console, il est nécessaire de connaître la commande de compilation (exemple javac) car il
existe plusieurs compilateurs pour Java. Par contre, l’exécu tio n est toujours ef fectuée avec la
commande java suivie par le nom de la classe (sans l’extension). Voici un exemple de compilation
et d’exécu tio n d’un fichier Java avec la console Linux :

DossierDeTravail$ javac [Link]


DossierDeTravail$ java Hello
Bonjour tout le monde

1.2 Structure de base d’un fichier Java


public class NomDeLaCl ass e {
// Les attributs (propri é t´es ) de cette classe
...
// Les méthodes de cette classe
...
// La méthod e principale main doit ^e tr e prés ente dans une seule classe du projet
public static void main(String[] args) {
...
}
}

page 1 de 19
Fascicule TP
Programmation Java

— Un fichier source Java contient une ou plusieurs classes, mais une seule classe
d écla rée publique. Le nom du fichier doit correspondre au nom de cette classe.
— Si le projet d év elo p p é est co mp o sé d’un seul fichier, alors ce dernier doit forcément
contenir la méth od e principale main.
— En programmation p ro céd u rale, les méth o d es sont vues comme des fonctions.
— La méth o d e principale main doit toujours avoir la signature suivante :

public static void main(String[] args)

1.3 Types primitifs des variables

Type
int Entier compris entre -231 et 231 − 1.

char `

Bo

Remarque :
— Il existe aussi les types byte, short et long qui sont des types entiers.
— On trouve aussi le type float qui représente un réel.
— Pour les chaînes de caractèè res, il est p réf érab le d’utiliser la classe String (qui n’est
pas un type primitif).

1.4 Structures conditionnelles et itératives


Les structures conditionnelles et itératives du langage C sont reprises en Java. Ainsi on trouve les
structures conditionnelles if et switch, mais aussi les structures rép étitiv es for, do while et while. Il
existe aussi une boucle n o mmée foreach pratique pour parcourir et afficher les éléme n ts d’un tableau
ou d’une collection:
int[] tab = {20, -9, 13, 100, 5};
// parcours et affiche chaque élém ent du tableau tab
for(int x: tab) {
[Link](x);
}

page 2 de 19
Fascicule TP
Programmation Java

1.5 Saisie de valeurs


A partir de la version Java 5, il est possible d’o pérer la saisie de valeurs grâce à la classe
Scanner. Voici un exemple :

import [Link] anner; //Importer la classe Scanner pour la saisie

public class ExempleSaisie {


public static void main(String[] args) {
String chaine;
int x;
double y;
// Création d'un objet Scanner
Scanner lectureClavier = new Scanner([Link]);

// Affichage d'un message avant la saisie


[Link]("Donner une chaine de caractère: ");
// Saisie d'une cha^ıne de caractère
chaine = [Link]();

// Affichage d'un message avant la saisie


[Link]("Donner un entier: ");
// Saisie d'un entier
x = [Link]();

// Affichage d'un message avant la saisie


[Link]("Donner un réel: ");
// Saisie d'un réel
y = [Link]();
}
}

1.6 Passage de valeurs en ligne de commandes (arguments)


Soit la classe Test suivante :
public class Test {
public static void main(String[] args) {
[Link]("Le premier argument est " + args[0]);
[Link]("Le deuxièm e argument est " + args[1]);
[Link]("Le troisième argument est " + args[2]);
}
}

Le passage d’arguments à ce programme en mode console se fait ainsi :

DossierDeTravail$ java Test bonjour 158 hello


Le premier argument est bonjour
Le deuxième argument est 158
Le troisièm e argument est hello

page 3 de 19
Fascicule TP
Programmation Java

2 Exercices pratiques
Pour chaque exercice, un nouveau projet sera c r é e…

Exercice 1
Créer la classe Hello ayant le code suivant, puis la tester :

public class Hello {


public static void main(String[] args) {
[Link]("Bonjour tout le monde");
}
}

Exercice 2
Créer la classe Ex2, puis :
1. Écrire la méth o d e public int addition(int x, int y, int z) qui retourne la somme de
3 entiers x, y et z.
2. Ajouter la méth o d e public int max(int x, int y, int z) qui retourne le maximum
entre 3 entiers x, y et z.
3. Ajouter la méth ode public boolean premier(int x) qui vérif ie si x est un
nombre premier ou pas.
4. Tester ces 3 méth o d es ainsi:

import [Link];
public class Ex2 {
//Déf initions des méthode s des questions 1,2 et 3
...
public static void main(String[] args) {
Scanner saisie = new Scanner([Link]);
int a, b, c;
[Link]("Donner 3 entiers: ");
a = [Link] nt();
b = [Link]();
c = [Link]();
Ex2 obj = new Ex2(); //Création d'une instance de la classe Ex2
[Link](a + "+" + b + "+" + c + "=" + [Link](a, b, c));
[Link]("Le maximum des 3 entiers est " + [Link](a, b, c));
if([Link](a)) {
[Link](a + " est un nombre premier");
}
else {
[Link](a + " n'est pas un nombre premier");
}
}
}

page 4 de 19
Fascicule TP
Programmation Java

Exercice 3
Écrire un programme qui calcule et affiche la somme et le produit de 4 entiers passés en
arguments.
Pour chaque argument, utiliser la méth o d e p réd éf in ie [Link](x ) pour obtenir un entier
à partir de cet argument.

Exercice 4
Écrire un programme permettant de lire un entier positif introduit dans la ligne de commande et de
l’afficher sous forme binaire.

page 5 de 19
Fascicule TP
Programmation Java

TP2: Introduction au langage Java (suite)


Objectifs

Saisie de valeurs.

it

1 Notions de cours
1.1 Création et manipulation d’un tableau à taille fixe
La créatio n d’un tableau à taille fixe est effectuée par l’instruction suivante :

type[] nomTableau = new type[NombreElements];

Ici, ”type” désign e un type de base ou bien une classe. Voici un exemple :

// Création d'un tableau de 5 entiers


int[] tab = new int[5];

On peut aussi créer et initialiser un tableau en même temps. Exemple :

// Création et initialisation d'un tableau de 3 entiers


int[] x = {9, 45, -22};

La manipulation des tableaux en Java est identique à celle du langage C, avec l’avantage de
pouvoir connaˆıtre la taille d’un tableau grâce à l’attribut length.

1.2 Exemple
// Création et initialisation d'un tableau de 4 réels
double[] tab = {12.0, 2.6, 0.5, 100.11};

tab[2] = -16.125; // modifie l'élément d'indice 2

// Affichage des é l ém ent s du tableau


// [Link] retourne la taille du tableau
for(int i = 0; i < [Link]; i++) {
[Link](tab[i]);
}
/* ou bien avec une boucle foreach:
for(double x : tab) {
[Link](x);
} */

page 6 de 19
Fascicule TP
Programmation Java

2 Exercices pratiques
Exercice 1
Écrire la classe Année avec une métho de qui permet de déterminer si une an née est bissextile ou non.
Une ann ée est bissextile si on a l’un des deux cas suivants:
— L’an née est divisible par 4 et non divisible par 100.
— L’année est divisible par 400.

Exercice 2
Écrire la classe JourSemaine avec une métho de qui, à partir d’un entier représentant un jour de la
semaine (entre 1 et 7), affiche le nom correspondant de ce jour.
Exemples:
jour = 1 => Affichage : ”C’est lundi” jour = 2 => Affichage : ”C’est mardi”

Exercice 3
Écrire un programme permettant de lire 2 arguments qui sont un entier positif (no té n) et une
chaˆıne de caractères, puis affiche cette chaˆıne n fois (sur des lignes différentes).
Par exemple, si l’utilisateur passe comme arguments ”5” et ”Bonjour”, on aura l’affichage sui-
vant:

Bonjour 1 fois

Bonjour 2 fois

Bonjour 3 fois

Bonjour 4 fois

Bonjour 5 fois

Exercice 4
Écrire la classe Parfait avec une méth o d e qui prend un entier positif, et indique si ce dernier est un
nombre parfait ou pas. Un nombre parfait est égal à la somme de ses diviseurs stricts (sauf lui-
même).
Exemples de nombres parfaits:
6=1+2+3
28 = 1 + 2 + 4 + 7 + 14
496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248

Exercice 5
Écrire un programme qui calcule et affiche la somme des entiers p assés en argument.

Exercice 6
Écrire la classe Pair ayant 2 méth o d es. La p remière permet de remplir un tableau d’entiers.
La d eu x ième affiche les éléme n ts pairs d’un tableau d’entiers.

page 7 de 19
Fascicule TP
Programmation Java

import [Link];
public class Pair {
public void remplirTab(int[] t)
{ /* remplir t avec des entiers saisis */ }
public void affichagePair(int[] t)
{ /* afficher les é l ém en ts pairs de t */ }

public static void main(String[] args) {


int n;
Scanner saisie = new Scanner([Link]);
do {
[Link]("Donner la taille du tableau(>=2): ");
n = [Link] nt();
}
while(n < 2);
int tab[] = new int[n]; //Création d'un tableau de n entiers
Pair p = new Pair(); //Création d'une instance de la classe Pair
[Link](tab);
[Link]("Affichage des é l ém en ts pairs du tableau:");
[Link](tab);
}
}

Exercice 7
Écrire la classe Tab ayant 3 méthodes. La première permet de créer un tableau d’entiers de taille n
( à saisir) et de le remplir. La deuxième affiche les éléme n ts d’un tableau d’entiers. La troisième
retroune l’éléme n t le plus grand d’un tableau d’entiers.

import [Link];
public class Tab {
public static int[] créationTableau() {
/* [Link] la taille du tableau, c réation du tableau
[Link] le tableau à partir d'entiers saisis
[Link] ce tableau */ }

public static void affichageTableau(int[] t)


{ /* afficher les é l ém en ts du tableau t */ }

public static int maxTableau( int[] t)


{ /* retourner l'élém ent le plus grand de t */ }

public static void main(String[] args) {


Tab tab = new Tab(); //Création d'une instance de la classe Tab
int t[] = [Link]́ationTableau();
[Link]("Affichage des é l ém en ts du tableau:");
[Link](t);
[Link]("Le max du tableau est " + [Link](t));
}
}

page 8 de 19
Fascicule TP
Programmation Java

Exercice 8
Écrire un programme qui c r é é et remplit un tableau de réels à partir des arguments, puis inverse ce
tableau et affiche ces éléme n ts.

Exercice 9
Écrire un programme qui saisit et remplit un tableau de chaˆınes de caractères, puis saisit une
chaˆıne et indique si cette chaˆıne se trouve dans le tableau. Dans le cas o ù la chaˆıne existe, le
programme devra aussi afficher sa position dans le tableau.
Note : Utiliser la méth o d e [Link] ls(chaˆıne) pour comparer entre deux chaˆınes. Exemples:

String ch1 = "bonjour", ch2 = "bonjour", ch3 = "Bonjour";


[Link](ch2) // renvoi true
[Link](ch3) // renvoi false

Exercice 10
Écrire un programme qui permet de saisir et remplir les éléme n ts d’un tableau
d’entiers, puis effectue le tri par sélectio n dans l’ordre croissant sur ce tableau, et enfin affiche le
tableau.
Principe :
Pour chaque éléme n t tab[i], déterminer l’indice min du plus petit éléme n t à droite de tab[i] (plus
petit que tab[i]), puis permuter tab[i] et tab[min]. Si on ne trouve pas un éléme n t plus petit que
tab[i], alors aucune permutation n’est ef f ectuée.

page 9 de 19

Vous aimerez peut-être aussi