Les variables, les tests et les boucles en Java

publicité
Les variables, les tests et les boucles en Java
1] Les variables
Une variable est 1 emplacement en mémoire destiné à recevoir des données.
Cet emplacement reçoit une valeur qui peut ensuite être réutilisée.
11) Les types de base
A 1 instant donné, une variable de ce type contient une seule valeur, qui est un nombre ou un booléen.
Type
Signification
Octet(s) en mémoire Exemples
byte
Entier très court de -128 à +127
1
short
int
long
Entier court allant de -32768 à +32767
2
Entier allant de -2 147 483 648 à +2 147 483 647 4
Entier long de -9 223 372 036 854 775 808 à
8
+ 9 223 372 036 854 775 807
float
Réel de -1.4E-45 à +3.4E38
4
double Réel double précision de -4.9E-324 à
8
1.8E308
char
Caractère isolé (256 caractères possibles)
1
boolean Valeurs logiques ou booléennes true-false
1
Ex1 :
a) Choisir 1 type pour les variables suivantes : temperature = 20 , temperatureSoleil = 6500, Na = 6.021023 , rep = ‘A’ ,
population = 63 000 000 , conclusion = false .
b) Avec abcdAlgos , écrire 1 programme java pour entrer au clavier ces variables , puis les afficher.
Initialisation d’1 variable de type char : char choix = ‘n’ ; // ‘ ‘ est obligatoire - choix = ‘ab’ est faux .
12) Un type objet : le type String
C’est le type chaîne de caractères .
C’est un type objet, qui dispose de méthodes propres ; ex , la méthode equals( ) : c1.equals(c2) qui compare la chaîne c1 à la
chaîne c2.
Ou la méthode equal() : equal(c1,c2) .
Il y a plusieurs façons de déclarer ce type :
a)
String phrase ;
phrase = «Titi est 1 oiseau» ;
b)
String phrase = new String() ;
phrase = «Titi est 1 oiseau » ;
c)
String phrase = «Titi est 1 oiseau» ;
d)
String phrase = new String («Titi est 1 oiseau» ) ;
Ex2 :
Ecrire 1 programme où vous :
* entrez votre prénom dans 1 variable monPrenom
* entrez 1 chaîne de caractères de votre choix au clavier
* comparer les 2 en mettant la réponse dans 1 booléen b
* afficher « les 2 prénoms sont égaux » si b = true et « les 2 prénoms ne sont pas égaux » si b =false .
13) Autre type objet : le type tableau
1 tableau est une boîte qui contient plusieurs valeurs du même type.
Pour déclarer 1 tableau de 10 entiers, on fait :
int[ ] monTableau ;
ce qui crée 1 case-mémoire qui a comme nom monTableau, ensuite on crée la « boîte » avec :
monTableau = new int[10] ;
La variable monTableau contient l’adresse en mémoire de la première case du tableau .
Les cases-mémoire :
monTableau
monTableau[0] ………
@monTableau[0]
20
10
…..
…….
monTableau[9]
…
…
90
100
: les
noms
: les contenus
monTableau contient l’adresse en mémoire de la première case du tableau.
La valeur de la case 1 est : monTableau[0] , et on va jusqu’ à monTableau[9] .
On peut considérer que chaque case-mémoire est constituée de son nom et de la valeur attribuée à ce nom .
Remarques :
* la déclaration peut se faire en 1 ligne :
int[ ] monTableau = new int[10] ;
* le tableau peut être créé et initialisé de la façon suivante :
int[ ] Tab = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100 } ;
* Un tableau peut être à plusieurs dimensions : int [ ] [ ] Tab = new int[5][3] ;
Tableau avec 5 lignes et 3 colonnes.
Exemple d’initialisation : int[ ][ ] Tab = {{1,2,3}, {4,5,6}, {7,8,9}, {10,11,12},{13,14,15}};
Question , ce tableau a l’aspect d’ une grille :
donner l’expression de Tab [i] [j] pour les 4 coins , et pour la case centrale .
ligne…
ligne 2
ligne 1
ligne 0
colonne 0
colonne 1
colonne ..
Ex3 :
Entrer les jours de la semaine dans 1 tableau.
Afficher ces jours ( avec 1 boucle for )
Chercher la propriété qui donne la longueur du tableau , afficher cette longueur .
Reprendre la boucle en utilisant cette propriété .
2] Les boucles
Une boucle permet d’éxécuter plusieurs fois une instruction.Il y a 2 variantes : la boucle for et la boucle while.
21) La boucle for ( boucle bornée)
Algorithmes et Programmes Java
a) L’ algorithme principal
Algorithme
Algorithme principal
Début
traitement ;
Fin
b ) Boucle for ( Pour …)
Algorithme
Pour n de 0 à 9 (par pas de 1)
Début
Afficher (“Allô ! “)
Fin Pour
Afficher (“Qui vous êtes ? “)
Ex 4 : traduire l’algorithme en langage java , le tester .
Langage Java
void main()
{
traitement ;
}
Langage Java
Remarque : l’incrémentation n++ est équivalente à n = n+1 , de même n- - et n = n-1.
Ecrire 1 programme qui recueille au clavier les températures de 7 jours successifs et calcule la température moyenne de la
semaine.
Modifier ce programme pour que l’utilisateur puisse préciser le nombre de jours avant de donner les températures.
Ex 5 : remplir 1 tableau à 2 dimensions qui permet d’afficher le dessin :
22) La boucle while (boucle non bornée Tant que …)
while
Algorithme
Tant que (n < 10)
Début
traitement ;
Fin Tant que
Langage Java
while ( n < 10)
{
traitement ;
}
Ex 6 : Définissez 1 chaîne de caractères qui est 1 mot de passe. Demandez à l’utilisateur d’entrer son code , poursuivre la
demande tant que le code n’est pas égal au mot de passe .
Le choix entre for et while :
 on utilise for si on connaît à l’avance le nombre de boucles à faire ,
 on utilise while dans le cas contraire (en fait , for est 1 cas particulier de while)
Remarques :
** attention aux boucles infinies , comme :
while(true) {
println( « allô ! » ) ; }
** il existe une variante : do { corps de la boucle} while (test) , qui est utile si le corps de la boucle doit être exécuté au moins
1 fois.
3] Le choix ( Si ….)
L’instruction if .
if
Algorithme
Algorithme principal
Début
Variable solde : réel
Afficher(« Entrer le solde de votre compte : »)
Saisir (solde)
Si (solde > 0) Alors
Début
Afficher(« Vous pouvez retirer de l’argent »)
FinAlors
Sinon
Début
Afficher(« Vous ne pouvez pas retirer d’argent »)
FinSinon
Fin
Ex 7 : traduire l’algorithme en langage java , le tester.
Langage Java
Schéma à retenir :
if (condition) // si la condition est vraie {
plusieurs instructions ;
}
else // si la condition est fausse {
plusieurs instructions ;
}
La partie else peut être absente .
Remarque : des structures if-else peuvent être imbriquées
Ex 8 : . Ecrire 1 programme qui demande votre note entre 0 et 20 et affiche la note avec 1 commentaire :
 mention Très Bien si 16 ou plus ,
 mention Bien si 14 ou plus,
 mention Passable si 12 ou plus,
 Admis si 10 ou plus ,
 Refusé si moins de 10.
Pour déterminer 1 relation if-else : 1 bloc else se rapporte toujours au dernier bloc if rencontré, auquel 1 else n’a pas encore
été attribué .
L’instruction switch (Selon ….) :
Synthaxe :
switch (valeur)
{ case etiquette 1 :
// 1 ou plusieurs instructions
break ;
case etiquette 2 :
// 1 ou plusieurs instructions
break ;
……..
default :
//1 ou plusieurs instructions
}
La variable valeur est évaluée ;
Le programme cherche l’étiquette correspondant à cette valeur ;
Si elle est trouvée , les instructions sont exécutées, jusqu’à rencontrer le mot-clé break ;
Si elle n’est pas trouvée , les instructions de default sont exécutées .
La variable valeur peut être du type char, int, byte, short , long ou String .
Ex 9 : écrire 1 programme qui demande le No du mois de l’année , qui répond en affichant le nom du mois et son nombre de
jours ( années bissextiles exclues …..) .
4] Les instructions break et continue
Elles modifient le comportement des boucles .
41) break
Exécuter le programme :
void main() {
int n = 0;
while (n < 10) {
println("Bonjour à tous !");
n = n + 1;
}
}
Puis, ajouter la ligne if(n= = 4) { break;} après n = n +1 ; exécuter .
Rôle de break ?
42) continue
Exécuter le programme :
void main() {
int n;
for (n = 0; n < 10; n = n + 1) {
println("Hello World!");
}
}
Puis , ajouter la ligne if(n = = 5 || n = = 6) {continue;} avant println("Hello World!"); exécuter .
Rôle de continue ?
Téléchargement