Meryem OUARRACHI
Plan
Partie1: La programmation Java Chapitre1: Introduction la programmation Oriente
-LOrient Objet: o on manipule uniquement des objets c'est-dire des ensembles groups de variables et de mthodes associes des entits intgrant naturellement ces variables et ces mthodes. Exp: Voiture.calculVitesse()
5
Le procdural / LOO
facilit de correction
projets plus faciles grer Plus scuris.
Notion de classe
Classe=Mthode + Proprits
10
du type de sa classe.
les objets sont initialiss lors de leur instanciation. Le
d'une
voiture
rouge
se
fait
- un objet est une zone mmoire qui est pointe par une ou
plusieurs rfrences
11
pas t surcharges
12
13
Exercice
1.Quel est la diffrence entre la programmation objet (comme le Java) et procdurale?
14
15
-1993: Java change dorientation et sadapte la technologie internet: (Netscape decide d'integrer cette technologie dans son
navigateur)
- 1995: annonce officielle de la naissance de la technologie Java
16
Mode Applet: qui sont des programmes Java incorpors des pages web .
17
Compilation (Javac)
Byte Code(Prog.class)
Le JRE est le JAVA Runtime Environment, est traduit par "Environnement d'excution JAVA". Le JRE contient une JVM, mais galement une bibliothque standard qui est
19
Remarque: - Depuis 1995 jusqu aujourdhui na cess dvoluer et dtre tendu de version en version: 1.0, 1.1, 1.2, 1.3, 1.4,1.5. - Sun a chang la nomination de JDK par SDK et J2SDK.
20
JDK,JRE,JVM
21
spcialises dans diffrents domaines: -Gestion des chaines de caractres; -Bibliothque mathmatique; -Bibliothque graphique: AWT,SWING; -Gestion de rseau: Sockets (serveurs, clients); Gestion dentre et de sortie: fichier; -Gestion des threads; -Gestion de la base de donne:JDBC
22
Les packages
Un package est une bibliothque de classes On regroupe les classes dun mme domaine dans un package Les packages sont organiss hirarchiquement
23
Les packages
Les classes du JDK sont classes dans des packages
24
Les packages:Utilisation
Il y a 2 manires dutiliser une classe stocke dans un package :
Importer toutes les classes du package.
import
java.util.*
import
java.util.Date
Remarque: Le package java.lang est un package par dfaut donc il est importer automatiquement sans avoir besoin de le mentionner par une commande import
25
absence de pointeur
gestion automatique de la mmoire centrale (garbage collector ou "ramasse-miettes")
Lenvironnement de dveloppement
Ils offrent des fonctions avances : diteur volu (couleur, autocorrection, prsentation)
Assistance syntaxique
Dbogage Environnement dexcution Choix:Eclipse
29
30
Eclipse
31
Eclipse
32
Eclipse
33
Eclipse
34
Eclipse
35
36
37
38
constituent la classe
class Test {
39
Les mots rservs (if, class, int) ne peuvent pas tre utiliss
Les dveloppeurs ont dfini un consensus de nommage : Les mots du langage sont en minuscule Les noms de packages sont entirement en miniscule java.swing Les noms de classe commencent par une majuscule Voiture Les noms de mthodes et de variables comment par une
minuscules :
41
affichage calculVitesse
Commentaires:
42
Laffichage en java
La fonction System.out.print( ) Exemple1: public class Afficher1 { public static void main (String [] args) { System.out.print("bonjour"); } } Rsultat: bonjour
43
Laffichage en java
Exemple2: public class Afficher2 { public static void main (String [] args) { System.out.print(25+25); } } Rsultat: 50
44
Laffichage en java
Il est aussi possible d'intercaler valeurs de variables et chanes de caractres on spare les arguments par des + Exemple3: public class Afficher3 { public static void main (String [] args) { System.out.print("La valeur est" + 25); } }
Laffichage en java
Exemple4: public class Afficher4 { public static void main (String [] args) { System.out.print("Bonjour" ); System.out.print("Monsieur" ); } } Rsultat: BonjourMonsieur
46
Laffichage en java
System.out.println ajoute automatiquement un retour la ligne aprs l'affichage. \n va faire un retour la ligne \t va faire une tabulation. Exemple5: public class Afficher4 { public static void main (String [] args) { System.out.print("il a dit : \"Bonjour\"."); } } Rsultat: il a dit : "Bonjour". 47
Laffichage en java
Exemple5: public class Afficher12 { public static void main (String [] args) { System.out.println("1\t\t1\t\t1"); System.out.println("2\t\t2\t\t2"); } } Rsultat: 1 1 1 2 2 2
48
49
Le type entier
-Le type byte dont les valeurs sont comprises entre - 128 et
+ 127 ...
-Le type short dont les valeurs sont comprises entre - 32
768 et + 32 767...
-Le type int dont les valeurs sont comprises entre - 2 147 483 648 et + 2 147 483 647 -Le type long dont les valeurs sont comprises entre - 9 223 372 036 854 775 808 et + 9 223 372 036 854 775 807
50
Le type entier
Exemple1:
n= 55; System.out.print(nombre=+n);
} }
Rsultat nombre=55
51
Le type rel
float 32 bits (1.4E-45 , 3.4028235E38)
double
64 bits
(4.9E-324 , 1.7976931348623157E308)
Exemple2: public class Variables { public static void main (String [] args) { float tva = 20.6f; System.out.println("tva = " + tva); double tauxLivret = 2.5; System.out.println("tauxLivret = " + tauxLivret); } } Rsultat: tva = 20.6 tauxLivret = 2.5 52
Type boolen
boolean 1 bit deux valeurs possibles : true ou false
53
Le type String
Le type String: permet de grer les chanes de caractres
54
Exemple : chaine1.charAt(2) n
chaine.
Exemple: int j=chaine1.indexOf (n) i=2
55
chaine3=Bon
57
- positive si la chaine est suprieure l'autreChaine selon l'ordre alphabtique, -ngative si la chaine est infrieure l'autreChaine, - 0 si la chaine est gale l'autreChaine
58
La classe Math
Cette classe contient des fonctions permettant d' effectuer des oprations mathmatiques lmentaires telles que l'exponentiel, le logarithme, la racine carre, les fonctions trigonomtriques, les minimums et les maximums,etc: - Math.max(x,y):retourne le maximum entre x et y. - Math.pow(x,y):retourne x la puissance y. - Math.sqrt(x):retourne la racine carre de x - Math.random():retourne une valeur double prises au hasard entre
+, - , * , / , % (modulo) , += , -= , *= , /=
int x, y, z; y = 2; z = 3; x = y * z ; x += 2 ; y = x / 4 ; y =x % 2 ; y++ //x vaut 6 //x vaut 8 //y vaut 2 //y vaut 0 //y vaut 1
60
Oprateurs unaires
Sappliquent un seul oprande de type entier ou rel -, --, +, ++ -Post-incrmentation: l'incrmentation se fait aprs l'affectation i=3; j=i++; Rsultat: j=3; i=4; -Pr-incrmentation: l'incrmentation se fait avant l'affectation i=3; j=++i; Rsultat: j=4; i=4;
61
Oprateurs unaires
Exemple1: int x, y; x = 3; y = -x ; //y vaut -3 y = ++x ; //y vaut 4, x vaut 4 y = x-- ; //y vaut 4, x vaut 3 Exemple2: j=10; k=11; i=(j++)+(++k); Rsultat: i=22 ; j=11 ; k=12
62
Oprateurs de comparaison/logiques
Sappliquent
sur
des
entiers,
boolens,
rels
==, !=, <=, >, >= Ces oprateurs retournent une valeur du type boolean
63
Oprateurs logiques
Sappliquent au type boolean et Retournent un type boolean
! (not) , && (and) , II (or) ,&, I
& renvoie true si les deux expressions renvoient true && a le mme comportement mais nvalue pas la seconde
expression si la premire est false
float j = (float)i;
-De mme pour convertir int en double ou double en int
65
1.5
66
La lecture en java
-En utilisant la classe Scanner:
Scanner sc = new Scanner(System.in);
69
70
71
Switch
switch (/*Variable*/)
{
case /*Argument*/:
/*Action*/; break; default: /*Action*/; }
Switch
int note = 10; switch (note) { case 0: System.out.println( "cest nul!"); break; case 10: System.out.println("Vous avez juste la moyenne."); break; case 20: System.out.println("Parfait !"); break; default: System.out.println("Il faut davantage travailler."); }
73
Les boucles
Boucle while while (/* Condition */) { //Instructions rpter }
Boucle do While Do { //Instructions rpter }while(condition); La boucle for for (Compteur =Initial ; Final ; ValeurDuPas ) { //Instructions rpter }
74
Les boucles
Exercice: Ecrire un programme qui affiche cinq fois le mot java lcran en utilisant les trois types de boucle
75
Les boucles
for(int i = 0; i < 5; i++) { System.out.println("Java"); }
int a = 0; while(a < 5) { System.out.println("java"); a++; }
76
Ou
int[] tableauEntier = new int[6]; La proprit length: renvoit la taille du tableau
tableauEntier.length vaut 6
77
Ou
int [][] tableauEntier = new int[2][3];
78
for(int i=0;i<3;i++)
{t[i]=new int[3]; }
79
Parcourir un tableau
String tab[] = {"toto", "titi", "tutu", "tete};
for(int i=0;i<tab.length;i++)
System.out.println(tab[i]);
80
Exercice
Exercice1: Ecrivez une mthode de signature public
static int nbValueIm (int[ ] tab) qui renvoie le nombre d'lements du tableau tab qui sont impairs.
81
Exercice
Exercice2: crivez une mthode de signature
public static String filter (String str, char[] tab);qui renvoie une chaine de caractres correspondant la
chaine str dont toutes les occurences des caractres
82
Exercice
Exercice3: Il s'agit d'crire un programme qui, tant
donne une chane de caractres (une instance de la classe String ) - calcule la chane inverse -indique s'il s'agit ou non d'un palindrome : Un palindrome est une phrase qui se lit de la mme manire dans les deux sens
83