Professional Documents
Culture Documents
Nous verrons
Caractristiques de Java et son environnement de dveloppement
Structures fondamentales
Les paquetages
temps :
dition du
code
Compiler le
programme
Interprteur
Certains langages nont pas besoin dtre traduit en code
machine
La machine effectue la traduction sur la vole (on the fly),
instruction par instruction, et lexcute
E.g. Prolog, JavaScript
9
Compilation
Librairies
Code objet
Edition de liens
Programme
excutable
10
Cas de Java
Avant excution
Excution
Fichier
de code
Java
MaClasse.java
Compilation
Byte code
javac
MaClasse.class
Machine virtuelle
Java (JVM)
java
11
14
Nom de la classe
Une mthode
commentaire
Une instruction
}
}
Stocker ce programme dans le fichier Salut.java
15
Compilation
javac Salut.java
Ceci gnre salut.class
Lancer lexcution
java Salut
Rsultat de lexcution
16
println
*/
17
L'en-tte de
la classe
Le corps
Nom de la
classe
Attributs
Mthodes
18
L'en-tte de la classe
NomDeClasse.java
Si plus dune classe dans un fichier .java, javac
gnre des fichiers .class spars pour chaque
classe
19
Le corps
}
Contient les attributs et les mthodes
Attributs: pour stocker les informations de la classe
Conventions et habitudes
nom de classe: NomDeClasse
indentation de { }
indentation de ...
20
L'en-tte:
Conventions
nomDeParametre
nomDeMethode
nomDAttributs
nomDObjet
21
Le corps:
mthode
En gnral:
nomDObjet.nomDeMethode(<liste des paramtres>)
La mthode main
java Salut excute la mthode main dans la classe Salut
main est la mthode excute automatiquement
linvocation du programme (avec le nom de la classe) qui la
contient
23
Dfinition gnrale
Type nomDeVariable;
Type: int
Nom: age
24
Type: int
25
Nom: age
Erreur si: age = "vingt cinq";
Type de valeur incompatible avec la variable
25
27
}
Utilisation:
java Salutation 20
Salut le jeune!
java Salutation 70
Salut le vieux!
28
Schma dexcution
Schmas
somme=0;
Boucle for
int somme = 0;
for (int i = 0; i<10; i++) somme = somme + i;
Boucle while
int somme = 0;
int i = 0;
while (i<10) { somme = somme + i;
i++;
}
i=0;
i<10?
oui
non
somme=somme+i;
i++;
i:
somme: 0
0,
1,
2,
3,
4,
5,
6,
7,
8,
0,
1,
3,
9, 10
45, sortie
29
Schma dexcution
somme=0;
i=15;
i<10?
oui
do A while (condition)
non
somme=somme+i;
i++;
Schma dexcution
somme=0;
somme = 0
i=15;
somme = 15
somme=somme+i;
i++;
i<10?
non
oui
30
Algorithme (pseudocode):
1. ans = 0;
2. Tant que le solde n'atteint pas le solde souhait
3. Incrmenter ans
4. Ajouter l'intrt au solde
31
double solde=Double.parseDouble(arg[0]);
double solde_final=Double.parseDouble(arg[1]);
double taux=Double.parseDouble(arg[2]);
int ans= 0;
double interet=0;
while (solde < solde_final) {
ans = ans + 1;
ans++;
interet= solde * taux;
solde = solde + interet;
solde += interet;
}
System.out.println(ans + " ans sont ncessaire pour atteindre le solde
"+ solde_final);
}
xecution de la classe : java NombreAnnees 2000 20000 0.07
Rsultat: 35 ans sont ncessaire pour atteindre le solde 20000.0
32
Calcul de la factorielle
Ecrivez une fonction (une mthode) qui calcul
la factoriel dun entier donn.
Appelez cette fonction dans la fonction
principale main .
Algorithme (pseudocode):
1.
2.
3.
4.
5.
fact= 1;
Tant que le nombre > 1
Fact=fact*nombre;
Dcrmenter le nombre
Fin tant que
33
34
Attention:
Array
String
a.length
a.length()
int [] nombre; // une srie de valeurs int dans le tableau nomm nombre
String [][] etiquette; // un tableau deux dimensions de valeurs String
Cration
Utilisation
nombre[0] = 4;
for (int i=1; i<nombre.length; i++) nombre[i]=nombre[i-1]+1;
etiquette[2][3] = "un texte";
String texte = etiquette[2][3];
35
Nombre de voyelles
Ecrivez un programme JAVA permettant de
}
public static void main(String[] args){
String texte=args[0]; int cpt=0;
for(int i=0;i<texte.length();i++){
char c=(char)texte.charAt(i);
if (test(c)==true) cpt++;
}
cpt);
}}