Académique Documents
Professionnel Documents
Culture Documents
2
CHAPITRE III
3
CHAPITRE III
• Un identificateur (identifier) permet de désigner une classe, une méthode, une variable, etc.
• Les identificateurs ne peuvent commencer que par :
• Une lettre
• Un « $ »
• Un « _ » (underscore)
• Et ne commencent pas par :
• Un chiffre
• Un signe de ponctuation autre que « $ » ou « _ »
• Interdiction d’utiliser les mots-clés (ex: abstract, new, return, try, class, public, etc.)
• Exemples:
• x254, Compte, _Compte, $Compte
4
CHAPITRE III
• Types primitifs :
5
CHAPITRE III
• Constantes
• Ce sont des variables dont la valeur est affectée final int N = 5;
final int T;
qu'une fois. ...
• Elles ne peuvent plus être modifiées. T = 8;
N = 10; // erreur : N est déclarée final
• Elles sont définies avec le mot clé final.
• Les noms des constantes se composent des lettres en majuscules avec underscore.
• Exemple : VALEUR_TVA, NOMBRE_PI. 6
CHAPITRE III
• Les types float et double stockent des nombres flottants, pour être reconnus, ils doivent
posséder soit:
• un point: 2.5, 10.0
• un exposant: 2e6, 1e-1 (équivalent à 2*106 et 1*10-1)
• ou l'un des suffixes f, F, d, D: 2.0d, 5.25D, 3.14f, 0.1F
• Il est possible de préciser des nombres sans partie entière ou sans partie décimale: .1, 5., +.2
• Exemple:
float pi = 3.141f;
double x = 3d; //ou bien double x = 3.0;
float flot1 = +.1f; //ou bien flot1=.1f, flot1 a la valeur 0.1
float flot2 = 2e6f; //équivalent à 2*106
• NB. C’est pas obligatoire de suffixer une valeur double, par contre, une valeur représentant un
float doit être, obligatoirement, suffixée par f ou F. 7
CHAPITRE III
}
11
CHAPITRE III
Exercice sur les opérateurs relationnels et Les bases de Java
logiques
public class OpLogique {
12
}
CHAPITRE III
• La conversion implicite d’un type ordinaire(primitif) vers un autre type ordinaire se fait d’un
type plus petit vers un autre plus grand.
• La conversion explicite d’un type ordinaire(primitif) vers un autre type ordinaire se fait d’un
type plus grand vers un autre plus petit.
• Exemple:
int n ; float f;
f = 3.0f;
n = f; // Faux
n = (int) f; // n aura la valeur 3
13
CHAPITRE III
• Indiquez, pour chaque affectation dans le programme ci-dessous, si l'affectation est possible et,
le cas échéant, la valeur exacte qui sera affectée à la variable.
int n1 = 2; //n1 vaut 2
double r1 = 2.7; //r1 vaut 2.7 int n5 = 19 / 4; //n5 vaut 4
double r6 = 5.0;//r6 vaut 5.0
int n2 = 2.7; //impossible int n6 = n5 / r5;//impossible
double r2 = 5; //r2 vaut 5.0 int n7 = (int) (n5 / r5); //n7 vaut 0
double r7 = 19.0 + r6; //r7 vaut 24.0
int n3 = (int) 5.6; //n3 vaut 5 double r8 = 15.0 - n3; //r8 vaut 10.0
float r3 = 5.6f; //r3 vaut 5.6
double r9 = 19 / 4; //r9 vaut 4.0
int n4 = 9; //n4 vaut 9 double r10 = (double) (19 / 4);//r10 vaut 4.0
double r4 = (double) n4;//r4 vaut 9.0 double r11 = (double)19/(double)4;//r11 vaut 4.75
float r5 = (int) r4;//r5 vaut 9.0 15
CHAPITRE III
16
CHAPITRE III
17
CHAPITRE III
import java.util.Scanner;
public class EntreeSortie {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a;
long l;
float f;
String st;
System.out.println("Entrer un entier:");
a = sc.nextInt();
System.out.println("Entrer un long:");
l=sc.nextLong();
System.out.println("Entrer un float:");
f=sc.nextFloat();
sc.nextLine();
System.out.println("Entrer un string:");
st=sc.nextLine();
System.out.println("a="+a);
System.out.println("l="+l);
System.out.println("f="+f);
System.out.println("st="+st);
sc.close();
}
} 18
CHAPITRE III
• Connaissant le prix hors taxe affiché sur un article, écrire un programme java qui calcule le prix
d’achat de cet article si la TVA est de 20%.
import java.util.Scanner;
public class calculPrixTTC {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
final double TVA=0.2;
double prixHorsTaxe, prixTTC;
System.out.println("Donner le prix hors taxe de votre article:");
prixHorsTaxe = sc.nextDouble();
prixTTC = prixHorsTaxe * (1+TVA);
System.out.println("Le prix TTC de votre article est:" + prixTTC);
sc.close();
}}
19
CHAPITRE III
20
CHAPITRE III
if (condition logique)
{
liste d’instructions
}
else
{
liste d’instructions dans le cas contraire
}
• Exercice:
Ecrire un programme java qui vérifie si un entier n est pair ou impair et affiche le résultat.
21
CHAPITRE III
switch (Variable) {
case Valeur1 :
Liste d'instructions
break;
case Valeur2 :
Liste d'instructions
break;
case Valeurs... :
Liste d'instructions
break;
default:
Liste d'instructions
break;
}
22
CHAPITRE III
24
CHAPITRE III
• Exemple 1:
int x=10, y=20;
int max= (x<y) ? y : x; //max vaut 20
• Exemple 2:
• Exercice:
Reprenez l’exercice de (IF-ELSE), en utilisant la condition ternaire "? :".
25
CHAPITRE III
• Syntaxe:
• Exemple:
26
CHAPITRE III
for (i=0, n=0 ;i<3 ; i++, n+=i, System.out.println ("D : i = " + i + ", n = " + n)) ;
System.out.println ("E : i = " + i + ", n = " + n) ;
}
}
A : i = 5, n = 5 D : i = 1, n = 1
Résultats B : i = 5, n = 5 D : i = 2, n = 3
C : i = 9, n = 5 D : i = 3, n = 6
E : i = 3, n = 6 27
CHAPITRE III
Ecrire un algorithme qui, à partir d’un nombre de départ, calcule la somme des entiers jusqu’à
ce nombre.
28
CHAPITRE III
• WHILE:
while (condition réalisée) {
liste d'instructions
}
do {
liste d'instructions
} while (condition réalisée)
• Exercice:
Ecrire un algorithme qui affiche les 20 premiers nombre impairs.
29
CHAPITRE III
• Exemple:
label:
30
CHAPITRE III
• C’est un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de
la méthode dans le corps du programme principal.
• Déclaration:
TypeDeRetour nomDeLaMethode(Type1 argument1, Type2 argument2){
//liste d'instructions
}
• Exemples:
32
CHAPITRE III
• En Java, contrairement à Pascal et C++, le passage par valeur est le seul existant.
33
CHAPITRE III
• La surcharge (overloading) est la possibilité de définir des méthodes possédant le même nom
mais dont les arguments sont différents.
• Des méthodes surchargées peuvent avoir des types de retour différents à condition qu’elles aient
des arguments différents.
35
CHAPITRE III
class Additionneur {
public static int somme(int a, int b){ // 1 public static void main(String[]
return (a+b); args){
}
public static int somme(int a, int b, int c){ // 2 int a=4;
return (a+b+c); int b=10;
} float c=15.4f;
float d=3.5f;
public static float somme(float a, float b){ // 3
return (a+b);
int s1 = somme(a,b); // 1
}
int s2 = somme(a,b,a);// 2
public static float somme(int a, int b){ float s3 = somme(c,d);// 3
//4 interdit à cause de 1
return ((float)a+(float)b); System.out.println("s1= "+s1+"
} s2= "+s2+" s3= "+s3);
}
}
36
CHAPITRE III
• Un tableau est une variable qui peut stocker plusieurs valeurs, de même type, à la fois, chacune
étant numérotée ;
• Des références sur des objets (à voir dans la partie Classe et Objet)
Valeurs 37
CHAPITRE III
38
CHAPITRE III
type[] monTableau;
• Peut s’écrire également Une déclaration de tableau ne doit pas préciser de dimensions
int monTableau[5]; // Erreur
type monTableau[];
• Exemple:
double resultats[];
char[] lettres;
String[] employes;
39
CHAPITRE III
• Les tableaux peuvent être initialisés par l'intermédiaire d'une liste de valeurs:
int[] notes = {10, 9, 12, 14, 16, 20, 19, 18};
String [] jours={ "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi",
"Dimanche"}
42
CHAPITRE III
43
CHAPITRE III
• Tableaux rectangulaires
• Dimensionnement :
monTableau = new type[2][3];
• Tableaux non-rectangulaires
• Dimensionnement :
monTableau = new type[2];
monTableau[0] = new type[2];
monTableau[1] = new type[3];
44
CHAPITRE III
• En utilisant les tableaux, écrire un programme java permettant de calculer la moyenne d’un
nombre de notes saisies par un utilisateur.
45