Prepar Javadebutant - 113415 - 114146 - 114638
Prepar Javadebutant - 113415 - 114146 - 114638
Prepar Javadebutant - 113415 - 114146 - 114638
Le langage est aussi très connu pour son interactivité sur le Web facilitant
l’insertion dans des pages Web, au milieu d’images et de textes, de programmes
interactifs appelés "applets1". Pour des problèmes de sécurité, ces applets sont
contrôlées et souvent limitées dans leur interaction avec le système d’exploitation de
l’ordinateur sur lequel elles se déroulent : limitation des accès aux fichiers locaux ou
aux appels système de la machine.
1
Applet (nf) est l’acronyme de Application light weight.
1|Java pour Débutant
Yambi Kumuré |2
souvent résumée de manière un peu commerciale par write once, run anywhere
(écrivez une seule fois, exécutez n’importe où). Les programmes en Java ont
l’extension .java, et le bytecode généré a l’extension .class
Le problème ici est que lorsque vous compilez, vous obtenez un code
source qui est spécifique à des équipements particuliers. C’est-à-dire si compilez sous
Windows, le code binaire ne peut être interprété que sous Windows même pour Unix,
même pour MacOs, etc. Et pour utiliser le même code, il lui faut apporter des
modifications pour chaque système d’exploitation.
Interpréteur
Machine
Virtuelle Java
Code Binaire
10101010101 Système
01010101010 d’Exploitation
10101010101
01010100011
En 2009, Sun Microsystems est racheté par Oracle Corporation qui fournit
dorénavant les outils de développement Java SE (Standard Edition) contenus dans le
Java Development Kit (JDK). Au moment où nous écrivons ces notes de cours, la
dernière version stable est le JDK 8u20
Compilation
Interprétation
Environnement d’exécution
Pour saisir notre code source, nous avons besoin d’un éditeur de texte.
Généralement pour coder, on peut utiliser un Environnement de Développement
Intégré (EDI). En plus d’un éditeur de texte, un EDI comporte un compilateur et un
Débogueur qui est un programme d’aide à l’élimination des Bogues (qui en
programmation, est un défaut de conception ou de réalisation se manifestant par des
anomalies de fonctionnement) ou simplement des erreurs.
Et nous aurons aussi besoin d’une Machine Virtuelle (Java Vitual Machine, JVM) qui
devra nous permettre d’interpréter les Byte Code. En lieu et place d’installer
simplement la JVM qui va nous permettre d’exécuter nos programmes Java, nous
allons Installer le JDK (Java Development Kit) qui contient en plus de JVM,
l’ensemble des librairies standards de java (java.lang, java.util, java.awt, ...), le
compilateur (javac), un interpréteur d’applets (appletviewer), un interpréteur (java), un
générateur de documentation (javadoc), JRE (Java RunTime Environnement) qui est
un environnement d’exécution d’applications Java. Le JDK est téléchargeable à ce jour
gratuitement sur le site d’Oracle (www.oracle.com).
a) JDK
Et à la fin d’installation de Java, je clique sur « Close » et java est installé dans ma
machine.
Après installation de JDK, nous allons installer maintenant notre IDE Eclipse.
b) Eclipse
Ensuite je clic sur File, New et Java Project pour ouvrir un nouveau projet Java :
11 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 12
Dans l’explorateur des projets à gauche de l’écran, je fais un clic droit sur
mon projet, dans le menu contextuel, je pointe New puis class :
Dans la boite de dialogue qui apparait, je saisis la nom de la classe
HelloWord puis je coche la case public static void main(String[] args) et je clic sur
Finish :
13 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 14
System.out.println("Bonjour le Monde");
Résumé :
Le texte à afficher à l’écran est toujours entre les guillemets ("") autrement
appelé double-cote
Exemple 1 :
("Bonjour le Monde")
A la sortie nous aurons :
Bonjour le mode
Lorsque le texte à afficher contient également les guillemets qui doivent être
affiché à la sortie, ceux – ci sont précédés par l’antislash (\) qui est un caractère
d’échappement.
Exemple 2 :
("Bonjour les amis de \"Kumuré\"") ;
A la sortie nous aurons :
Bonjour les amis de "Kumuré"
Lorsque le texte à afficher contient plusieurs lignes, on utilise \n qui permet de
renvoyer à la ligne suivante tout texte qui vient après :
Exemple 3 :
Exemple 4 :
15 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 16
Les Variables
Une variable est une entité symbolique ou une zone mémoire dont la valeur
est susceptible d’être modifiée en cours d’exécution du programme.
Types de variables
1) Types primitifs
Exemple 5 :
int age = 19 ;
double poids = 56.8 ;
String nom = "Kumuré" ;
Dans cet exemple, nous avons 3 variables que nous avons créé dont la
première porte le nom age qui est du type Integer et dont la valeur est 19, la
deuxième porte le nom de poids, est du type Double et dont la valeur affectée est
56.8 et la troisième porte le nom de nom, est du type String et a comme valeur
affectée Kumuré.
La valeur à affecter dans une variable de type String doit être toujours entre
guillemet ("")
Java étant un langage de programmation fortement typé, aucune variable ne
peut être utilisée sans être déclaré.
Une variable peut bien être déclarée sans être initialisée. Dans ce cas, avant
d’être utilisé, une valeur doit lui être affectée. C’est pourquoi il est impérieux de
donner toujours une valeur initiale de la variable à chaque initialisation.
Le nom d’une variable peut commencer par les signes (_) ou ($) ou les deux.
Exemple 6 :
String $nom ;
int _age ;
String $_prenom ;
double _$poids ;
Le nom d’une variable peut contenir un chiffre mais ne peut commencer par un
chiffre
Exemple 7 :
String nom1 ;
String nom23prenom ;
Les constantes
Une constante est une zone mémoire ou une variable dont la valeur ne
change pas au cours de l’exécution du programme.
17 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 18
Exemple 8 :
Affichage de variable
Exemple 9 :
System.out.println(age) ;
System.out.println(poids) ;
System.out.print(PI) ;
19
56.8
3.14
Exemple 10 :
a) opérateur d’affectation
Pour affecter une valeur à une variable, on utilise le signe égale (=). On
parle aussi d’assignation. On peut aussi affecter un signe (positif ou négatif) à une
variable.
Exemple 11 :
int a=5;
Nous dirons que nous avons affecté ou assigné la valeur 5 dans la variable
a. Nous pouvons aussi assigner une expression dans une variable comme dans
l’exemple 14.
Exemple 12 :
int a=5;
System.out.println( -a );
Le résultat donnera -5
b) opérations arithmétiques
Exemple 13 :
Exemple 14 :
Dans cet exemple, après exécution, nous aurons comme résultat 0 au lieu de
0.5. Il y a 2 explications valables à cette situation :
19 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 20
Exemple 15 :
Le résultat sera correct mais chemin parcouru sera très long et parfois
même difficile surtout si les variables proviennent d’une autre classe. La solution
serait simplement d’utiliser le transtypage.
c) opérations de transtypage
Exemple 16 :
Exemple 17 :
Exemple 18 :
Exemple 19 :
Exemple 20 :
Exemple 21 :
21 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 22
Dans ce cas ici, nous n’aurons plus 10 mais plutôt 55. Ici, en utilisant (+)
comme opérateur de concaténation, le programme comprend que vous lui demandez
de faire rien que la concaténation de a et a. ce qui fait qu’il prend la valeur de premier
il met à côté de la valeur de deuxième a. Ainsi la solution serait de mettre l’opération
a+a dans la parenthèse (a+a) :
Exemple 22 :
Et le résultat sera
Exemple 23 :
Soit la variable int a = 5;, lorsque nous voulons ajouter une valeur
dans la variable a qui contient déjà une valeur, nous pourrons normalement faire a =
a + 10; et nous aurons comme résultat 15. Nous pouvons aussi faire a = a *
5; et nous aurons 25 à la sortie.
La meilleure façon de faire c’est comme cet exemple :
Exemple 24 :
Exemple 25 :
Exemple 26 :
Dans cet exemple, nous aurons la valeur de a à la sortie qui sera 4 et c’est la
décrémentation
Exemple 27 :
23 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 24
Après exécution dans cet exemple, nous aurons sur les deux lignes 6 car
sur la première ligne on demande de commencer par incrémenter la variable a ensuite
l’afficher. C’est la près-incrémentation. Sur la deuxième ligne, on demande d’afficher
d’abord la variable ensuite l’incrémenter. C’est la post-incrémentation.
Exemple 28 :
Dans cet exemple après exécution, nous aurons sur la première ligne le
résultat 5 car, on demande d’afficher d’abord la valeur de la variable a ensuite
l’incrémenter. Et sur la deuxième ligne le résultat sera 7 car, on demande de
commencer par incrémenter la variable a ensuite l’afficher or, après la première ligne,
a =6 et lorsqu’on incrémente, nous avons a=7.
Exercice I
b)
25 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 26
La lecture de données
La gestion de ces exceptions se fait avec la classe Try avec ses méthodes
catch et finaly. Cette dernière méthode n’est pas obligatoire. La syntaxe est la
suivante :
try {
instructions succeptibles de générer l’exception
} catch (type_execption variable) {
instructions qui doivent gérer des possibles exceptions
}finally{
instructions s’exécutant toujours avec ou sans exceptions
}
Les exemples de gestion d’exception sont donnés dans le point suivant qui
parle de la lecture de données.
Bien que nous ne parlons pas de la programmation objet dans cette partie
mais nous voulons expliquons en quelques mots ce que c’est une classe. Dans le terme
très simple, une classe est une sorte de moule à partir duquel on crée plusieurs objets.
En d’autres termes, une classe est une usine de création d’objets de même nature.
1) La classe Scanner
Comme nous l’avons évoqué ci-haut, la classe Scanner est une classe
réservée de Java se trouvant dans le répertoire java util. Ainsi pour utiliser Scanner, il
faut d’abord importer cette méta – classe avant de l’utiliser. Cette importation se fait
au début du programme par l’instruction :
import java.util.Scanner;
Exemple 29 :
27 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 28
Exemple 30 :
29 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 30
Exemple 32 :
2) La classe BufferedReader
Import java.io.BufferedReader
Nom_objet.readLine();
Nom_objet.close();
Exemple 33 :
Import java.io.BufferedReader
Exemple 34 :
Après cette importation, nous crayons encore d’autres erreurs. Nous voyons
notre objet flux et ses deux méthodes sont à leurs tours soulignés. La solution ici est
celle de la gestion d’erreurs. Etant donné que le programme doit lire les éléments qui
doivent provenir de l’extérieur, cette lecture peut ou ne pas réussir. C’est pourquoi
nous allons faire appel à la classe try :
31 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 32
Exemple 35
Vous allez remarquer que dans le même répertoire io, nous avons importé
trois classes avec trois lignes d’instructions différentes, or nous pouvions bien le faire
en une seule ligne en utilisant l’Astérix (*) qui signifie tout (all en anglais) :
import java.io.*;
3) La classe JOptionPane
Il est question ici de lire les données saisies au clavier à travers une boîte de
dialogue autrement appelé fenêtre. Pour lire les données la classe JOptionPane utilise
la méthode showInputDialog et elle doit être importée dans le répertoire javax swing
avec l’instruction suivante :
import javax.swing.JOptionPane ;
import javax.swing.JOptionPane;
public class BoiteDialog {
public static void main(String[] args) {
String nom = "";
nom = JOptionPane.showInputDialog("entrer votre nom :");
}
La conversion de données
La conversion de données est une opération qui consiste à passer d’un type
de données à un autre. Cette conversion se fait d’une chaîne de caractère (String) à un
type primitif et d’un type primitif à une String.
Classe_type.parseType(String) ;
33 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 34
Exemple 37 :
Pour passer d’un type primitif à une String, on utilise la syntaxe suivante :
String.valueOf(variable à convertir);
Exemple 38 :
Il faut noter que toute conversion de données est susceptible de générer une
exception. C’est pourquoi il est conseillé de mettre les instructions de conversion dans
la classe try et catch afin de gérer les exceptions dû à l’échec de la conversion de
données.
Exemple 39
35 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 36
Exemple 40 :
Sur ce, il existe deux sortes de structures de contrôle dont les structures
conditionnelles et les structures itératives
37 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 38
Structure conditionnelles
La structure if
if(condition){
instructions ;
}
if(condition)instructions ;
La condition est une expression ou une opération qui renvoi une valeur du
type booléenne c’est-à-dire vrai ou faux (true ou false en anglais). Les
instructions à l’intérieur de la condition if ou à droite de la condition ne sont exécutées
que si la valeur de l’expression (condition) est true.
Exemple 41 :
Dans cet exemple, lorsque la variable age prend une valeur supérieure ou
égale à 18, le programme ne fait absolument rien. C’est-à-dire nous n’avons pas dit au
programme ce qu’il va faire si la condition est évaluée à faux (false).
La structure if . . . else
if(condition){
instructions1
}else{
instructions2
}
Exemple 42 :
Ce programme le résultat :
39 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 40
Exemple 43 :
import java.util.Scanner;
public class Condition_If_Else_b {
public static void main(String[] args) {
if(nomSaisie.equals(NOM)){
System.out.println("Bienvenue" + nomSaisie);
}else{
System.out.println("Desolé, pas autorisé");
}
}
}
Cette structure permet de tester une condition1 si elle est vraie, on exécute
le bloc d’instructions1. Si elle est fausse, on teste encore une autre condition2 qui si
elle est vraie, on exécute le bloc d’instructions2 et si elle est fausse, on exécute le bloc
d’instructions3. Sa syntaxe est la suivante :
If(condition1){
Instructions1
}else if(condition2){
Instructions2
}else{
Instructions3
}
Exemple 44 :
Dans un programme, on peut avoir plusieurs blocs else if mais s’en abuser
peut nuire à votre programme.
Structure imbriquée
If(condition1){
If(condition2){
Instructions1
}else{
Instructions2
}
}
41 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 42
Exemple 45 :
Et le résultat donnera :
La structure switch
Avant de voir cette structure, voyons d’abord cet exemple qui revient sur la
structure if et else if.
Exemple 47 : un programme qui lit une valeur entière compris entre 1 et 7 saisie par
l’utilisateur, et le programme affiche le jour de la semaine correspondant à
ce entier.
43 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 44
Syntaxe :
switch(expression entière){
case valeur1 :
instructions ;
break ;
case valeur2 :
instructions2 ;
break
...
default :
instructions
}
Chaque instruction est précédée par un case qui donne la valeur à
comparer avec l’expression entière afin d’en exécuter les instructions correspondantes.
Le break permet de sortir du bloc switch lorsque la valeur entière saisie correspond à
celle de la valeur case. Lorsqu’aucune valeur de l’expression entière ne correspond à
la valeur exprimée en case, c’est le bloc d’instructions sous default qui s’exécute.
Structure Répétitive
Une structure répétitive est une structure qui permet d’exécuter un bloc
d’instructions autant de fois tant qu’une condition donnée demeure vraie. Cette
structure est appelée une boucle.
45 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 46
La boucle for
Syntaxe :
Exemple 49 : dans cet exemple, nous allons afficher une table de multiplication par 2
allant de 1 à 10. Dans nos connaissances actuelles, nous ferons ceci :
Exemple 50 : comme le nombre de fois que nous devons afficher cette instruction est
connu, nous pouvons afficher toutes ces 10 lignes d’instructions en 2
lignes avec la boucle for comme suit :
Les 2 exemples 49 et 50 donnent le même résultat que voici :
Remarque :
La portée de la variable i est limitée qu’à la boucle for. Lorsque nous désirons
utiliser i à l’extérieur de for, nous aurons une erreur car i est une variable privée
de for.
Lorsque je fais : for(int i = 0 ; i >=0 ; i++) : cette boucle est
dite infinie car l’exécution de cette boucle ne finit pas technique.
La boucle do while
Syntaxe :
do{
instructions ;
}while(condition) ;
47 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 48
Exemple 51 : écrire un programme qui demande à l’utilisateur son âge tant que celui –
ci est inférieur ou égal à zéro et affiche cet âge dans le cas contraire.
La boucle while
La boucle while (tant que) joue le même rôle que la précédente mais la
différence intervient du faite qu’ici la condition est posée avant d’exécuter
l’instruction. Dans cette boucle, l’instruction est exécutée que lorsque la condition est
vérifiée.
Syntaxe :
while(condition){
instructions
}
Exemple 52 : On fait la même chose qu’à l’exemple 51 :
49 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 50
1) Ecrire un programme qui calcule la somme des entiers pairs inférieur à 100
additionnée avec la somme des entiers impairs inférieur 100 et affiche le
résultat à l'écran.
51 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 52
Les Tableaux
Un tableau à une dimension est un tableau ayant une seule ligne et plusieurs
colonnes.
Syntaxe :
type nom_tab [] ;
Ou
type [] nom_tab ;
a b c
Exemple 54 : Ecrire un programme qui déclare un tableau contenant les 7 jours de la
semaine
Mais lorsqu’on ne connait pas les éléments que doit contenir le tableau, ce
dernier est déclaré par la syntaxe suivante :
a b c
53 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 54
System.out.println(jour[2]);
Pour afficher tous les éléments du tableau, je ne peux pas mettre seulement
jour, car jour ne contient aucune valeur sinon une simple référence. Un tableau
n’étant pas une variable de type primitif, il fait un stockage par référence. Tandis que
les variables primitifs font un stockage par valeur.
Ce qui fait que lorsque je déclare un tableau, une zone mémoire est déclaré
avec une référence qui point vers un tableau avec les index indiquant la position de
chacun de ses éléments.
Pour afficher tous les éléments de notre tableau jour, nous pouvons
utiliser l’itération avec la boucle for comme à l’exemple suivant :
Exemple 56 :
Exemple 57 :
System.out.println(jour[i]);
Exemple 58 :
Exemple 59 :
Il s’agit ici de copier les éléments d’un tableau indice après indice.
L’avantage de cette copie est que, même si une ou plusieurs valeurs du premier tableau
sont modifiées après la copie, celles qui sont déjà copiées dans le deuxième tableau ne
seront pas modifiées. Tandis que lorsqu’on affecte un tableau dans un autre, la
modification des éléments du premier tableau implique automatiquement le deuxième.
Exemple 60 :
55 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 56
N.B. : Que ça soit pour l’affectation ou pour la copie des valeurs d’un tableau dans un
autre, il faut que le deuxième tableau qui reçoit les valeurs aie une taille
supérieure ou égale au premier tableau.
Il est de fois où nous pouvons déclarer un tableau qui n’a pas de référence
c’est-à-dire qui ne pointe sur rien. Cela se fait grâce à la propriété null utilisée
comme suit :
Comparaison de tableaux
Il est question ici de vérifier si un tableau a les mêmes valeurs que l’autre.
Cette vérification se fait sur tous les éléments notamment la référence, la taille des
tableaux et les valeurs que porte chaque indice des tableaux. Ainsi, si nous avons deux
tableaux suivants :
Exemple 61 :
Pour comparer les deux tableaux élément par élément, nous pourrons le
faire comme dans l’exemple 62 suivant :
Exemple 62 :
Dans cet exemple, nous commençons par vérifier avec la propriété null, si
les deux tableaux ont – ils des références. Ensuite avec la propriété length, nous
comparons les tailles de nos deux tableaux. Ainsi, si l’une de ces expressions est vraie
alors les tableaux sont différents. Sinon, nous créons une variable (i) d’itération qui
nous permettra d’accéder dans chaque élément de ces tableaux.
Dès que l’itération fini, nous vérifions si la variable (i) est supérieure ou égale à la
taille de l’un des tableaux. Dans ce cas, les tableaux sont égaux. Sinon les tableaux
sont différents.
57 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 58
Le tableau bidimensionnel
Syntaxe :
a b c
x y z
System.out.println(cotes[0][4]);
Pour afficher tous les éléments du tableau, nous allons utiliser la boucle
for comme précédemment. Mais cette fois nous allons faire deux itérations dont la
première concerne toutes les lignes du tableau et la seconde concerne toutes les
colonnes.
Exemple 64 :
Le tableau dynamique
59 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 60
Syntaxe :
La classe type d’objet dont il est question dans cette syntaxe est une classe
qui instancie l’objet de type primitif. En d’autres termes, c’est un type de données
évolué ou un enveloppeur de type primitif comme nous l’avons vu dans le chapitre sur
les variables.
import java.util.ArrayList;
public class TableauDynamique {
public static void main(String[] args) {
ArrayList<String> noms = new ArrayList<String>();
}
}
import java.util.ArrayList;
public class TableauDynamique {
public static void main(String[] args) {
ArrayList<Integer> age = new ArrayList<Integer>();
}
}
Affectation et accession dans un tableau dynamique
import java.util.ArrayList;
public class TableauDynamique {
public static void main(String[] args) {
ArrayList<String> noms = new ArrayList<String>();
noms.add("Tshika");
noms.add("Mvula");
noms.add("Kibo");
noms.add("Poba");
noms.add("Mpila");
noms.add("Nzita");
noms.set(3, "meta");
System.out.println(noms.get(2));
}
}
61 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 62
Ou
1) Ecrire programme qui génère une valeur aléatoire et affiche un message selon la
valeur générée. La valeur générée doit être un booléen et avant d’afficher le
message, le programme doit faire une pause.
63 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 64
Les Méthodes
Notions
Dans la programmation orientée objet, une méthode est une fonction ou une
procédure qui regroupe un ensemble d’instructions spécifiant le comportement d’un
objet ou d’une classe. Certaines notions de cette deuxième définition nous sont encore
inconnues, nous nous limitions à la première définition.
Pour créer une méthode on parle de définir une méthode et cette définition
comprend le nom de la méthode, le paramètre (facultatif selon le cas) et le corps de la
méthode. Et pour utiliser la méthode définie, il faut l’appeler par son nom. Un
programme peut avoir plusieurs méthodes et une méthode peut appeler une autre
méthode.
Une méthode peut être défini n’importe où dans une classe ou sur un autre
fichier du package. Elle possède un type de données selon qu’elle retourne ou non une
valeur. Lorsqu’elle retourne une valeur, elle porte un type de données primitif mais
lorsqu’elle ne retourne pas de valeur, elle prend le type void.
Syntaxe de définition :
Syntaxe d’appellation :
Qu’elle retourne ou pas une valeur, toutes les méthodes sont appelées de la
même manière. On y ajoute des arguments dans la parenthèse si elle comporte de
paramètre :
nomMethode(arguments);
nomMethode();
Exemple 70 : un programme qui définit une méthode nommée CalculAge qui a deux
variables (anais et anac) en paramètre. Cette méthode retourne l’âge en le
calculant par anac – anais.
65 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 66
NB :
Lorsqu’une méthode doit retourner une valeur, la dernière instruction doit être
return. Après cette instruction, aucune autre instruction n’est exécutable.
Lorsqu’une variable est créée à l’intérieur d’une méthode, elle n’est accessible
qu’à cette méthode-là. On dit alors que la portée de cette variable est locale.
C’est-à-dire qu’elle ne peut pas être utilisée en dehors de la méthode dans
laquelle elle est déclarée.
La récursivité de méthode
67 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 68
CorreCtion d’exerCiCes
Exercice I
2) Le programme :
Le résultat sera
3)
a) Le programme :
Le résultat est
b) Le programme :
4)
a) Le résultat sera :
b) Le résultat sera :
69 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 70
Exercices II
1)
package exercice;
public class SommePair {
public static void main(String[] args) {
int sommePair = 0, sommeImpair = 0 ;
for(int i = 1; i<=100;i++){
if(i%2==0){
sommePair = sommePair+i;
}else{
sommeImpair = sommeImpair+i;
}
}
int somme = sommePair + sommeImpair;
System.out.println("la somme des entiers pairs
inférieur à 100 est : "+sommePair);
System.out.println("la somme des entiers impairs
inférieur à 100 est : "+sommeImpair);
System.out.println("la somme des pairs et impairs
inférieur à 100 est : "+somme);
}
}
2)
71 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 72
Exercices III
1)
import java.util.Random;
2)
import java.util.*;
public class JeuxCapital {
public static void main(String[] args) {
PaysDejaPris.add(index);
pays = donne[index][0];
capital = donne[index][1];
if(reponse.equalsIgnoreCase(capital)){
System.out.println("Bonne réponse");
score++;
}else{
System.out.println("Faux, la capital
de"+ pays +"est :" +capital);
}
}
//on affiche le score et on ferme l'objet clavier.
73 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 74
Cet exercice, nous pouvons le faire autrement en utilisant une méthode qui
va contenir les données, notamment le tableau qui contient les pays et leurs capitales.
Ainsi, nous pouvons procéder de la manière suivante :
import java.util.*;
public class JeuxCapital {
PaysDejaPris.add(index);
pays = donne[index][0];
capital = donne[index][1];
if(reponse.equalsIgnoreCase(capital)){
System.out.println("Bonne réponse");
score++;
}else{
System.out.println("Faux, la capital
de"+pays+"est:" +capital);
}
}
System.out.println("Teminer, votre score est
de " + score + "/"+NB_QST);
clavier.close();
}
static String [][] BaseDonnees(){
String PaysCapitales [][] = {
{"Congo RD" , "Kinshasa" },
{"Angola" , "Luanda" },
{"Algérie" , "Alger" },
{"Maroc" , "Casablanca" },
{"Egypte" , "Caire" },
{"Sénégal" , "Dakar" },
{"Belgique" , "Bruxelles" },
{"France" , "Paris" },
{"Italie" , "Rome" },
{"Chine" , "Pékin" },
{"Japon" , "Tokyo" },
{"Allemagne" , "Berlin" },
{"Gabon" , "Libreville" },
{"Suisse" , "Zurich" },
{"Espagne" , "Madrid" },
};
return PaysCapitales;
}
}
75 | J a v a p o u r D é b u t a n t
Yambi K u m u r é | 76
Table de matière
77 | J a v a p o u r D é b u t a n t