You are on page 1of 69

ROYAUME DU MAROC

TSDI

OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA www.developpez.c.la PROMOTION DU TRAVAIL


INSTITUT SPECIALISE DE TECHNOLOGIE APPLIQUEE-BEN MSIK

1/69


www.developpez.c.la

TSDI

I-introduction :
1-Cest quoi le langage Java : Le langage JAVA est un langage de programmation puissant et la fois facile comprendre par le dbutant. 2-Comment JAVA Il rpond simultanment au besoin des objets 1- la programmation structur tel que : C, Pascal, Cobol 2-la programmation orient objet : la mthodologie de programmation de lavenir. 3-Definition Les langages de programmation sont directement comprhensible par la machine.les tapes de traduction on peut deviser les langages existant en trois grandes catgories : 1-les langages machines. Un ordinateur ne comprend pas que sa propre langage machine, constitue dune suite de langue nombre 0 et 1 ce quont appelle le binaire 2-les langages dassemblage. Dvelopp aussi des programmes de traduction appel assembleur pour convertir en langage machine les programmes. 3-les langages de haut niveau. Sont beaucoup plus attrayant de point de vue des programmeurs. Tel que C,C++,JAVA

-les instructions dentr/sortie :


1-Affichage : Laffichage est prmondial au niveau de programmation, si on crit un programme on a besoin quil nous retourne le rsultat et comment ce rsultat.

2/69


www.developpez.c.la

TSDI

*les commentaires : // : Commentaire en seul ligne /*Multi lignes*/ Public class+nom { : La class Affichage est dfinie par lutilisateur .le nom commence par une lettre majuscule suivie des lettres ou des chiffres et caractres de soulignement ne doit pas commencer par des chiffres ou des espaces. Les applications JAVA dbutant automatiquement leur excution main

Les parenthses indiquent que main est un bloc de construction de programme appel mthode. Les mthodes ont la possibilit deffectuer des taches et de renvoyer des informations lorsquelles ont fini leurs taches. Indique que la mthode effectue une tache {et} :qui dlimite le corps de la dfinition dune class ou une mthode. Est connue sous le nom dobjet de sortie standard, permet lapplication JAVA,dafficher les chanes et dautre types dinformation.

Le ; appel une instruction, chaque instruction doit tre terminer par ; on dit aussi fin dinstruction.

2-Afficher sur plusieurs lignes :

3/69

TSDI

www.developpez.c.la Une seule instruction peut afficher sur plusieurs lignes on utilisant des caractres de nouvel ligne. Ceci sont des caractres spciaux qui indiquent au mthode print et println de System.out ; quel moment ils doivent placer le curseur de sortie au dbut de la ligne suivante la fentre de commande.

3-Caractres de contrle : Peuvent tre intgr dans une chane de caractre. 4-Affichage dune boite de dialogue . Le langage JAVA permet au utilisateur dafficher une ou des fentres pour rdiger et de lire des messages. Les boites de dialogue sont normalement des fentres dans lesquelles les programmes affiche des messages. grce la classe JOptionPane de JAVA fournie des boites de dialogue .

4/69


www.developpez.c.la

TSDI

JOptionPane :
est dfini dans le package

le package :
c'est le noyau du java ou son stock,ont doit utilis l'instruction

import pour l'importation du class.


Le compilateur charge la class JOptionPane du package javax.swing le swing contient des nombreuse class qui permettais au programmeur java de dfinir des interfaces utilisateur graphique (GUI-Graphical user interface La ligne JOptionPane.showMessageDialog(null,"Bienvenue a la programmation\n java") -La mthode showMessageDialog affiche la boite de message de la class JOptionPane, la mthode a deux argument sparer par, la premier c'est le mot cl null permet a l'application java de dterminer l'emplacement de la boite de Dialogue, c'est l'argument est null la boite de dialogue au centre de l'cran ,la deuxime argument reprsente la chane a affich l'excution de la ligne l'instruction affiche la boite de Dialog avec la barre de titre de dialogue contient la chane MESSAGE par contre le bouton OK est incorpor automatiquement System.exit(0) la ligne est ncessaire dans toute application qui affiche une interface utilisateur graphique pour forc la fin du l'application .la class System suivi d'un point et de la mthode exit l'argument 0 de exit indique que l'application c't achev avec un succs une valeur diffrente de 0 indique qu'une erreur se serai produite .a class System fait parti du package java.lang.*; par contre la Class n'est pas import par le package par ce que ce package est import par dans tout programme en java par dfaut REMARQUE: L'oublie de l'appel System .exit dans une application qui affiche une interface utilisateur graphique empche l'achvement du programme le rsultats se manifeste gnralement par impossibilit de taper quoi se soit dans la fentre de commande

Type de boite de message

Fentre

Icne

5/69


www.developpez.c.la

TSDI

Aucune

A lexcution le programme affiche 1->2->3->

6/69


www.developpez.c.la

TSDI

7/69


www.developpez.c.la

TSDI

-LES VARIABLES
Les variables est une case mmoire identifier par un identificateur. Tous les variables ayant un type avant leur utilisation dans un programme. 1-les types des variables: Le langage java est considr un langage fortement typs les types prdfini doivent apparatre en lettre minuscules (ex:int, char, double). Les types de langage java sont Taille Type Valeurs possibles Dsignation (bits) boolean 1 true ou false valeur logique caractre unicode char 16 0 0xFFFF (65535) (non sign) entier sign sur 1 byte 8 -128 127 octet entier sign sur 2 short 16 -32 768 32 767 octets entier sign sur 4 int 32 -2 147 483 648 2 147 483647 octets de -9 223 372 036 854 775 808 entier sign sur 8 long 64 9 223 372 036 854 775 807 octets de +/-1.40239846e-45 float 32 rel 4 +/-3.40282347e+38 de +/- 4.94065645841246544e324 double 64 rel 8 +/1.79769313486231570e+308 2)Les oprateurs daffectations Le langage java propose plusieurs oprateurs daffectation . C=a+b C-=2 C+=5 G%=9

C/=4

3.3)Les oprateurs dincrmentation et de dcrmentation Le langage java propose loprateurs dincrmentation ++ est de dcrmentation -- au lieu de passer par lexpression suivant . I=I+1 I=I-1 a++ ++a b- - -b

4)Les oprateurs relationnel et dgalit Les oprateurs relationnel et dgalit Ont tous le mme niveau de prsence.

8/69


www.developpez.c.la x= =a x>y , x<y x !=y x>=y , x<=y

TSDI

{oprateurs dgalit {les oprateurs relationnel

5)Les oprateurs arithmtiques Toutes les langage effectuent des calcul mathmatique java aussi est un langage qui a volue la mthode mathmatique .ainsi il a intgrer des fonction mathmatique qui nexiste pas dans dautre langages.

Opration multiplication division entire modulo addition soustraction 5-1Les priorits

Oprateur Expression en Java * P*X rsultat entier si diviseur et dividende / entier : X/Y % le reste de la division entire :X%Y + F+7 P-X

Java applique les oprateurs selon une squence prcise dterminer par les rgles de prsence des oprateurs. 1)Les oprateurs dans les expressions continue entre pair de parenthse sont valuer en premier lieu par centre lutilisateurs de java utilise les parents pour lordre dvaluation dans la squence de son choix.

y=(a+x+x)+(b*x)+c 2)Les oprateurs de multiplication,de division et de modulo sapplique en suite ,si une expression contient plusieurs oprations de multiplications de division et de modulo,les oprateurs sapplique de gauche a droit par ce que ont le mme niveau de prsence. 3)Les oprateurs daddition soustraction Sapplique on derniers lieu ont le mme niveau de prsence sil y a plusieurs oprations plus et moins les oprateurs sapplique de gauche a droite.

x=a+b-c+d-y+n 5-2Les mthodes mathmatique Les mthodes de la class Math permettait au programmeur deffectu des

9/69

TSDI

www.developpez.c.la calcules mathmatique .les appel des mthodes commence par le nom de la mthodes suivi dune parenthse ouvrante suivi de largument ou la liste des arguments spar par des virgule puis de parenthse fermante .

Math.sqrt (900) 6) Les oprateurs logiques :

, Math.pow(x, 2) ;

Le langage java propose de oprateurs logique qui permettais de former des conditions complexe, n combinant des conditions simple . une variable de types boolean ne peut prendre que lune de deux valeur soit vrai/faux ,true/false , 0/1 ,O/N ,les oprateurs logique java sont prdfini le langage . ! && & ^ || ou | non Et logique /And E boolean logique ou exclusif ou ||1=1 ||0=1 ||1=1 ||0=0

1&&1=1 1 1&&0=0 1 0&&1=0 0 0&&0=1 0 si(x>y&& age>=65) si(moyen>=90 || ex final>=90)alors crire (le grade dtudiant est A)

REMARQUE : Loprateur && a une prsence suprieur a celle de loprateur || cest une expression qui contient les oprateur && ou || Lvaluation est de la faon suivante

10/69


www.developpez.c.la

TSDI

Table de verite ( ! Non logique) : !1=0 !0=1 si ( !B=C)

6-1 Les oprateurs logiques : Les nombres entier sont limits en grandeur, elle cest dpend de type de machine, la mmoire centrale est dcompos en zone identique comportant chaque de 6 64 bits selon les machines plus bits de parit permettant le contrle des information chaque de mmoire constituent ladresse de zone.

6-1 Les nombres positif: Les nombres entiers sont enregistrs sous les plupart des machines par un moy et un systme de numration. Le systme de numration est une mthode de prsentation des nombres les plus utilis en informatique sont : Binaire, Octal, Dcimal et Hexadcimal. Pour toutes les bases est

11/69


www.developpez.c.la

TSDI

12/69


www.developpez.c.la

TSDI

13/69


www.developpez.c.la

TSDI

14/69


www.developpez.c.la

TSDI

15/69


www.developpez.c.la

TSDI

16/69


www.developpez.c.la

TSDI

17/69


www.developpez.c.la

TSDI

18/69


www.developpez.c.la

TSDI

19/69


www.developpez.c.la

TSDI

20/69


www.developpez.c.la

TSDI

21/69


www.developpez.c.la

TSDI

22/69


www.developpez.c.la

TSDI

V-Structure de contrle
4-1-Introduction : Ecrire un programme pour rsoudre un problme il est essentiel de bien comprendre le problme et bien planifier lapproche de sa rsolution et les types de blocs et les principe de construction .les structures de contrle permettais de construire et de manu piler les objets. 4-2 Dfinition : Les instructions dun programme sexcute les une aprs les autre selon lordre dans lequel elles ont t crite : le processus dexcution squentiel. Java permettais au programmeurs de spcifier linstruction excut cest le transfert de contrle, la notion de programmation structurs est devenue un synonyme de illimitation de linstruction go to. Java ne possde pas go to par contre go to est un mot rserv de langage il nest pas utilis. 4-3 linstruction de slection if : Une structure de slection autorise le choix dactivit dans un programme. if teste une condition sil est vrais excute laction , sil est fausse il ignore.

23/69


www.developpez.c.la 4-4 la structure de slection if/else :

TSDI

La structure permet de tester la condition sil est vrai excute laction 1 si non excute laction 2

Remarque :
Il existe en Java une oprateur conditionnel (? :) est li la structure if/else et le seul oprateur tratisme de Java il forme une expression conditionnel

24/69


www.developpez.c.la

TSDI

a- la structure imbrique Il y a des structure imbriqu test plusieurs cas on placent les structure au sein dautre structure.

25/69


www.developpez.c.la

TSDI

4-5la structure de rptition while : La structure while permet au programmeur de spcifier la rptition dune action tant quune condition est vraie.

26/69


www.developpez.c.la

TSDI

La classe dcimal format sert mettre des nombres en forme dans notre exemple la dernire fois on a comme valeur deux chiffres aprs la virgule donc on a dclar deux chiffres comme une rfrence un objet de la classe dcimal format quest une package au point dcimaux et 2chiffres aprs le point dcimal 4-6La structure de rptition for : La structure for gre tous les dtails de la rptition contrle par un compteur. for (i=1 ;i<=10 ;i++) x=2 ;y=10 ;

A viter for (int y=x; j<=4*2*10; j*=y/x) a)volution de la variable de contrle 1100 par incrmentation de 1

27/69


www.developpez.c.la for (int i=1; i<=100 ;i++) b) for (int i=100; i>=1 ;i--) c) for (int i=7;i<=77;ii+=7) d) for (int i=2;1>=2;i-=2) e) for (int y=2;j<=20;j+=3) f) for (int j=99;j>=0;j-=11)

TSDI

Ecrire le programme qui permet de calculer la somme de n valeur de 1100 et lincrmentation de pas par 2 4-7 la structure de rptition (do/while) : La structure (do/while) test la condition de la boucle aprs excution du corps de la boucle .dont le corps de la boucle sexcute au moins une fois cest la structure se termine lexcution se poursuit a linstruction plac aprs la close while. i=0; do{ s+=i ; i+=1; } while (i>=10)

do { Instruction } while (condition)

Remarque :
Il existe en Java une oprateur conditionnel (? :) est li la structure if/else et le seul oprateur tratisme de Java il forme une expression conditionnel

Ecrire le programme qui permet de calculer la somme de n valeurs de 1100 le pas dincrmentation est de 4. 4-8) la structure de slection multi avec switch : La structure de slection du types pour grer une prise de dcision afin dexcut diffrentes action en fonction de ses valeurs String entrer ;

28/69

TSDI

www.developpez.c.la Int sortie Entre=JOptionPane.showInputDialog ( Entrer le 1 pour le teste 1 \n Entrer le 2 pour le teste 2\n+ Entrer le 3 pour le teste 3\n) ; Sortie=Integer.parseInt (enter) ; Switch (sortie){ Case1 :System.out.print (le nombre vaut 1) ; break ; Case2 :System.out.print (le nombre vaut 2) ; break ; Case3 :System.out.print (le nombre vaut 3) ; break ; Defaut =System.out.print (le nombre ne vaut ni 1 ni 2 ni 3) ; }

Ecrire le programme qui permet de calculer le carr et le cube du nombre compris entre 0 et 10.

29/69


www.developpez.c.la

TSDI

La structure switch est constitue du suite de tiquette case, le programme se compare la valeur dexpression de control qui doit produire obligatoirement une valeur entier de types byte char short ou int La structure suite sinterrompe immdiatement linstruction break. a)linstruction break : Linstruction break provoque la sortie immdiate de toutes les structures for (i=1 ;i<=10 ;i++) { if (i= =5) break; Sortie+=i+/; }

b) linstruction continue : Linstruction continue sexcute, le contrle du programme poursuit lincrmentation de la variable de contrle dans la structure for

for (i=1 ;i<=10 ;i++) { if (i= =5) continue; Sortie+=i+/; }

30/69


www.developpez.c.la Remarque :

TSDI

Les programmes considrent que break et continu violent les rgles de la programmation structure les effets de ces instructions sont ralisable par les techniques de la programmation structure, il y a des programmeurs nutilisent jamais ni break ni continue.

b) linstruction break et continue avec une tiquette : Linstruction break avec une tiquette prend le rle dtre excuter dans tous les structures et provoque la sortie immdiate dans chaque structure de rptition intermdiaire qui lentour. Par contre, lexcution du programme reprend la 1re instruction aprs le bloc dtiquette. Une tiquette est une identification suivie de deux points stop :

stop :{ for (i=1 ;i<=10 ;i++) { for (j=1;j<=5;j++) { if (i= = 5) break stop; Sortie+=*; } } Sortie+=\n boucle terminer normalement); }

Remarque: Si i=5 le bloc est enferme entre { et } de stop, le programme enchane immdiatement a la ligne qui suit }.

31/69


www.developpez.c.la

TSDI

32/69


www.developpez.c.la

TSDI

V-Les tableaux :
5-1-Introduction : La notion des tableaux cest trs important pour les structures des donnes, ce dernier cest la structure des donnes dynamique tel que liste. 5-2-Dfinition : Un tableau est un groupe demplacement en mmoire qui porte tous le mme nom et le mme type pour faire rfrence un emplacement donn, cest-dire un lment du tableau .le programmeur doit spcifi le nom du tableau et le numro du position de llment particulier du tableau placer entre croch, les tableaux en java commence toujours par 0. 5-3-Dclaration et allocation des tableaux : Les tableaux sont des objets qui occupe le place en mmoire tous les objets de java doivent recevoir une allocation de mmoire .loprateur new permet dallouer de lespace en mmoire pour les tableaux et dautres objet. int c []=new int [20] ; int c []; c=new int [20];

Remarque :
Si vous dclarez un tableau de la faon suivante in C[20] ; Provoque une erreur de syntaxe. On peut faire les dclaration suivante est valable aussi pour les deux tableaux suivantes String B[ ]=new string[20],x[ ]=new string[40];

1/ String b[]= new String [20], x[]=new String [40]; 2/ double [ ]=tableau1,tableau2; double [ ]tableau1=new double[10],tableau2=new double[20] ;

Dfinition :
Classe JTextArea :
Propose une zone qui permet de manu piler plusieurs lignes de texte dans la quel on affiche le rsultats au sien dune boite de message.

t.length :
Dtermine la longueur du tableau la boucle se poursuit lexcution tant que la valeur de la variable de contrle est infrieur t.length.

33/69


www.developpez.c.la

TSDI

InterTabl.java
import javax.swing.*; public class InterTabl{ public static void main(String args[]) { int t[]; int i; t = new int [10]; for(i=0;i < t.length; i++) { String x=JOptionPane.showInputDialog("Entrer les valeurs de tableau"); t[i]=Integer.parseInt(x); } String sortie="Indice\tvaleurs\n"; for( i=0;i < t.length; i++) { sortie += i + "\t" + t[i] +"\n"; JTextArea zoneSortie= new JTextArea (); zoneSortie.setText (sortie); } JOptionPane.showMessageDialog(null, zoneSortie); } }

34/69


www.developpez.c.la

TSDI

35/69


www.developpez.c.la

TSDI

final :

Permet de dclarer une variable constante sinitialise avant tout utilisation et ne peut sobir la moindre modification.

Public {final N=10 ; Int [] ; T=new int[] ; Remarque :

Lors de toute modification dune variable final aprs la dclaration le compilateur affiche une message derreur .

setText:
La mthode setText remplace le texte dun JTextArea il permet de remplacer le texte avec une chane de sortie.

zone sortie (sortie) ;

5-4) lutilisation dune liste pour initialiser les lments dun tableau : Une liste dinitialiseur, inscrite a lintrieur des { } est prcd par loprateur daffectation, permet dallouer et dinitialiser un tableau lors de a dclaration, le nombre dlments de la liste dinitialisation dtermine la taille du tableau.

36/69


www.developpez.c.la

TSDI

int t[ ]={10,20,30,40,50} ;

5-5) Tableaux multiples [i] [j] : Les tableaux a deux indice reprsente des nombre dexpos en ligne et en colonne, pour identifier un lment bien dterminer il faut indiquer les deux indice t[i][j] ; La dclaration et lallocation dun tableau multiples se fait de la faon suivante :

int T[][]=new int[12][4] Ou bien int T[][]={{1,2},{3,4}}

Remarque :

Un tableau a un indice multiples dans chaque ranger possde un nombre deffrente de colonne peut sallouer de la manier suivante :

int T[ ][ ] ; T=new int[2][ ] ; T[0]=new int[5] ; T[1]=new int[3] ; => allocation des lignes => 0 0 0 0 0 => 1 1 1

37/69


www.developpez.c.la

TSDI

V-Les procdures et les fonctions (mthodes) :


6-1) Introduction : Tous problmes peux se dcomposer en sous problme cest adire en groupe daction dans certain se rpteront plusieurs fois, tant dit que dautre ne seront excut quune fois. 6-2) Dfinition : Lorsque lalgorithme devient trop complique ont aura envi de le dcoup de manire a se que chaque partie soit plus simple et plus lisible la division du programme en plusieurs modules assure une meilleur qualit de programmation .de mme lorsque une partie de code doit tre excute plusieurs fois a des endroit diffrent ou rutiliser ultrieurement en pourra ne dcrire quune fois lui donner un nom en fessons fonction ou une procdure 6-3) Procdure : Le procdure et une suite dinstructions servant a raliser une tache prcise en fonction dun certain nombre du paramtre.

Public static void chargement () { } Public static void main () { Chargement () ; } } 6-4) Fonction : Une fonction est une procdure dans le but et dterminer une valeur et de retourner au programme appelant.

38/69


www.developpez.c.la

TSDI

Public static void main() { SU=Surf(Z) } Public static double surf (double r) { double SUR ; SUR= (Math.pow(r, 2)*Math. PI) ; Return SUR. } }

Remarque :

Par contre, le nom de la fonction est utiliser comme identificateur de tous les types () pour transmettre le rsultat de calcul au nom du fonction

Ecrire le programme de fact laide de fonction.

6-5) les paramtre par valeur et par rfrence : Il existe deux fonctions de passer des arguments des mthode ou des fonctions dans plusieurs langages de programmation, se sont le passage pour valeur et par rfrence dnomm appel par valeur ou par rfrence.

1-par valeur Le passage par valeur effectue une copie de la valeur de largument avant de la passer la mthode appeler la variable par valeur contient normalement une valeur

long x ,y ; X=0 ; on affecte la valeur 0 x

39/69

TSDI

www.developpez.c.la X=y ; on affecte la valeur y x Y=4 ; on affecte la valeur 4 y Donc On a comme rsultat les types des variable x=0 et y=4,la modification de y na pas modifie x.

Remarque :
Par contre tous les types des variables sont des variables par valeur

2-par rfrence Le passage par rfrence lappelons permet a la mthode dapplet daccder directement ces donnes et de les modifier au besoin. Lappel par retourne amliore les performances on vite la copie des donns surtout lorsque leur taille est importante mais aux des trimes de la scurit et lintgrit de ses donns.

Remarque :
Rfrence : cest ladresse lieu physique on se trouve la variable cette modification sera visible dans la procdure modifi appelante aprs le retour

6-6) surcharge dune mthode : Java permet lusage de mme nom pour plus mthode ou fonction si leur liste de paramtre diffrant on nombre type par ordre des paramtre (la surcharge des mthodes) Lappel dune mthode surcharge, le compilateur java choisi la mthode appropri on examinant le nombre, les types et lordre des argument de lappel .permet aussi de cre plusieurs mthode de mme nom et effectue des taches similaire mais avec des types des donnes diffrent.

40/69


www.developpez.c.la

TSDI

V-Manipulation des objets des chaine de caractres (class String)


7-1) Introduction Les fonctionnalits de traitement de la chane de caractre de java, permet la validation des saisie laffichage des informations linstruction de lutilisateur de texte sorte de manipulation de texte sa deux dfinition. 7-2) Dfinition Caractres constituent les blocs fondamentaux des programmes source en java tant programme est compos dune squence de caractre,il sont groups de manire sens .permettant la machine de les interprter en une suite dinstruction et daccomplir une tache ,les caractre qui fournissent toute une fondation pour la manipulation des chanes et des caractres en java sont :

String, StringBuffer et character=Package java.lang


Par contre, la class

StringToknize=Package java.util
7-3) Constructions de chanes (String) La class String propose pas moins de neuf constructeur qui initialise des objets String des manires diverges. S=new String (Bonjour) ; S=new String(S) ; 7-4) Mthode utilise avec String

length : Permet de donner la dimension dune chane de caractre.


String S, Sortie; S=new String (Salut tout le monde); Sortie=S vaut :+S; Sortie+=\n la longueur de S vaut +S.length (); charAt : La mthode charAt reoit un argument entier qui forme le manire de position ou lindex et retourne le caractre situ cette endroit. Sortie+=\n la chane retours est: ;

41/69


www.developpez.c.la For(int i ;i=S.length ( )-1;i>=0;i++) Sortie+=S.charAt (i)+ ;

TSDI

Remarque :
Comme pour les tableaux .le premier lment dun String est considr comme lemplacement0

getChars : Permet de copier les caractres dune String dans un


tableau du caractre. String S1,Sortie; Char tableau car[ ]; Tableau car=new char[5]; S1=new String(Salut tout le monde); S1.getChars(0,1,tableau car.0) ;

*1er argument : Donne lindice du tableau ou la copie des caractres


de la String commence. *2eme argument : Indique lindice du dernier caractre de la chane copier plus un. *3eme argument : mentionne le tableau de caractre vers lequel se pre la copie. *4eme argument : Indique lindice de llment du tableau partir de quel le caractre copier sont dpos. 7-5) Comparaison plusieurs chanes (String) JAVA fourni une varit dune mthode de comparaison dobjet String lorsque la machine compare deux chane il compare en ralit les codes numrique les caractre de ses chanes

equals :
Permet de tester lgalit il es t identique a loprateur dgalit equals (==)

S1=new String(Bonjour); If(S1.equals(Bonjour); If(S1==Bonjour)

42/69


www.developpez.c.la

TSDI

equalsIgnoreCase
Lgalit il es t identique Ignore la case du lettre de chaque String, la comparaison ne tiens plus conte de la case.

S1=new String (Bon anniverssaire); S2=new String (bon annivairssaire); If (S1.equalsIgnoreCase (S2)) Sortie +=S1 est equal S2\n; else Sortie +=S1 est diffrent de S2\n ;

compareTo :
La mthode compareTo return 0 si deux String sont gale et return -1 si la chane comparer est infrieur la chane passer a largument. Return 1 si la chane a comparer est suprieur a selle passer en largument. Il compare les valeurs numriques des caractres correspondant de deux chanes.

S1=new String (Bonjour); S2=new String (bonjour); Sortie +=S1 compareTo (S2) + S2 compareTo (S1) + S1 compareTo (S1);

regionsMatches :
La mthode compare les parties des deux objets String en vue dgalit.

if(S1.regionsMatches(0,S2,0,5) Sortie +=Les 5 premiers caractres de S1 et S2 correspond ; else Sortie +=Les 5 premiers caractres de S1 et S2 ne correspond pas ;

43/69


www.developpez.c.la

TSDI

Remarque :
Teste en tenant compte de la case

if(S1.regionsMatches(True,52,0,5) Sortie +=Les 5 premier caractre de S1 et S2 correspond ; else Sortie +=Les 5 premier caractre de S1 et S2 ne correspond pas ;

Remarque :
Teste sans tenir compte de la case

1ere argument : est lindice de dpart de la String qui appel la mthode. 2eme argument : est la String de comparaison. 3eme argument : est lindex de dpart dans la chane de comparaison. 4eme argument : est le nombre de caractre a comparer.

True :la mthode renvoi vrai seulement si le nombre spirifer de caractre


sont identique sur le plan lexicographique si le premier argument est true la mthode ignore la case des caractre a comparer le argument restant sont identique a se dcrit dans le cas de la mthode prcdente .

-Les methods startwith et endwith. startwith:


Donne le dbut de la chane c'est--dire la chaine commence par le ou les caractres suivant

endwith:
Donne la fin de la chane c'est--dire la chane se termine par le ou les caractres suivant.

44/69


www.developpez.c.la

TSDI

String chaine []= {dmarr, dmarrage,termin,terminer} ; String Sortie= ; for (int i=0 ;i<chanes.length ;i++) if (chane [i]=startWith(d)) Sortie+=\+chaine[i]+ \commence par \de \ \n ; Sortie+= \n ;

Remarque :

La mthode startWith teste seulement dans lexemple mais elle a dautres fonctions.

if (chane [i].startWith(mar,2)) Sortie+=\+chaine[i]+ \commence par \mar \ en position 2\n ; Sortie+= \n ;

Remarque :
La mthode startWith teste partir de lemplacement 2 de la chane

If(chane [i].endWith()) Sortie+=\+chaine[i]+ \se termine par \ \ \n ; Sortie+= \n ;

Remarque :
La mthode endWith test simplement la fin de la chane

45/69


www.developpez.c.la

TSDI

//dmonstration des mthodes length, charAt et getChars de la classe String. //note: la mthode getChars requiert un point de dpart et un point final dans la String. Le point de dpart est l'indice rel partir duquel la copie commence. Le point final est d'une unit aprs l'indice de fin de copie. //Packages d'extension Java. import javax.swing.*; public class StringDivers { //Tester diverses mthodes de String. public static void main (String args[]){ String s1,sortie; char tableauCar[]; s1=new String("salut tout le monde"); tableauCar=new char[5]; //prparer la chaine de sortie. sortie="s1:"+s1; //tester la mthode lenght. sortie+="\n la langueur de s1 vaut:"+s1.length(); //boucler parmi les caractres de s1 et afficher rebours. sortie+="\n la chane rebours est:"; for(int compteur=s1.length()-1;compteur>=0;compteur--) sortie+=s1.charAt (compteur)+" "; //copier des caractres d'une chane dans un tableau de char. s1.getChars(0,5,tableauCar,0); sortie+="\n le tableau de caractres est:"; for(int compteur=0;compteur<tableauCar.length;compteur++) sortie+=tableauCar[compteur]; JOptionPane.showMessageDialog(null, sortie,"dmonstration des constructions de la classe String",JOptionPane.INFORMATION_MESSAGE); System.exit(0); } }//fin classe StringDivers

46/69


www.developpez.c.la

TSDI

//ce programme prsente les mthodes equals, equalsIgnoreCase, compareTo et regionMatches de la classe String. import javax.swing.JOptionPane; public class comparerstring { //Tester les mthodes de comparaison de la classe String. public static void main(String args[]){ String s1,s2,s3,s4,sortie; s1=new String("Bonjour"); s2=new String("Au revoir"); s3=new String("Bon anniverssaire"); s4=new String("bon anniverssaire"); sortie="s1="+s1+"\ns2="+s2+"\ns3="+s3+"\ns4="+s4+"\n\n"; //Tester l'galit. if(s1.equals("Bonjour")) sortie+="s1 est gal \"Bonjour\"\n"; else sortie+="s1 est diffrent de \"Bonjour\"\n"; //Tester l'galit avec==. if(s1=="Bonjour") sortie+="s1 est gal \"Bonjour\"\n"; else sortie+="s1 est diffrent de \"Bonjour\"\n"; //Tester l'galit(sans tenant compte de la casse). if(s3.equalsIgnoreCase(s4)) sortie+="s3 est gal s4\n"; else sortie+="s3 est diffrent de s4\n"; //Tester compareTo. sortie+="\ns1.compareTo(s2) vaut"+s1.compareTo(s2)+ "\ns2.compareTo(s1) vaut"+s2.compareTo(s1)+ "\ns1.compareTo(s1) vaut"+s1.compareTo(s1)+ "\ns3.compareTo(s4) vaut"+s3.compareTo(s4)+ "\ns4.compareTo(s3) vaut"+s4.compareTo(s3)+ "\n\n"; //Tester regionMatches(en tenant compte de la casse). if(s3.regionMatches(0,s4,0,5)) sortie+="les 5 premiers caractres de s3 et s4 correspondent"; else sortie+="les 5 premiers caractres de s3 et s4 ne correspondent pas\n"; JOptionPane.showMessageDialog(null,sortie,"dmenstration des constructeurs de String",JOptionPane.INFORMATION_MESSAGE); System.exit(0); } }

47/69


www.developpez.c.la

TSDI

7-6) Recherche des caractres et des chaines dans des Strings

indexOf / lastIndexOf:
La mthode indexOf=index de et lastIndexOf=Dernier de Permet la recherche dun caractre particulier ou une sous chaine donner dans une String

String lettre=abcdefjhijklmnopqrstuvwxyz ; Sortie+=\n c se situe lindex +lettres.indexOf(c) ; Sortie+=\n a se situe lindex +lettres.indexOf(a,1) ; Sortie+=\n 8 se situe lindex +lettres.indexOf(8) ; Sortie+=\n\n le dernier c se situe lindex +lettres.lastIndexOf(def) ; Sortie+=\n le dernier a se situe lindex +lettres.lastindexOf(a,25) ; Sortie+=\n le dernier 8 se situe lindex +lettres.lastindexOf(8) ;

48/69


www.developpez.c.la

TSDI

String lettre=abcdefjhijklmnopqrstuvwxyz ; Sortie+=\n def se situe lindex +lettres.indexOf(def) ; Sortie+=\n def se situe lindex +lettres.indexOf(def,7) ; Sortie+=\n bonjour se situe lindex +lettres.indexOf(bonjour) ;

Sortie+=\n\n le dernier def se situe lindex +lettres.lastindexOf(def) ; Sortie+=\n le dernier def se situe lindex +lettres.lastindexOf(def,25) ; Sortie+=\n le dernier bonjour se situe lindex +lettres.lastindexOf(bonjour) ;

SubString :
La mthode SubString permet la cration dun nouvelle objet String par copie dune partie dun objet String existant (veux dire extraire ou soustraire). String lettre=abcdefjhijklmnopqrstuvwxyz ; Sortie+=\n le sous chaine de lindex 20 la fin +\++lettres.subString(20) ; Sortie+=les sous Chaine de lindex 0jusqua 6 vaut +\+lettres.subString() ;

Remarque :
Si lindex ou bien les arguments sont hors de limites de la chaine le programme gnre une syntaxe erreur.

Concat:
est renvoi un nouvel objet String qui contient deux objet String String S=new String(Heureux) ; S2=new String(Annivairsaire); String Sortie=S1++S1+S2=+S2; Sortie Sortie=\n\n Resultat de S1.concat(S2)=S1.concat(S2);

remplace:

49/69

TSDI

www.developpez.c.la Permet de remplacer un caractre par un autre caractre si aucune caractre de 1er argument nexit dans la chane loriginal est renvoy.

String S1=new String(Bonjour) ; String S2=new String(Au revoir) ; String S3=new String(Espaces) ; String Sortie=S1=+S1+S2=+S2+S3=+S3; Sortie+=\n\nRemplacement de o par O dans S1:+S1.remplace(o,O);

toUpperCase :
Permet de convertir les caractres minuscule en majuscule sil n y a aucun caractre convertir en majuscule, la chane initiale est renvoy tell quil est.

toLawerCase :
Permet deffectuer la conversion inverse (Maj Min). Sortie+=\nS1.toUpperCase()= +S1. toUpperCase+ S2.toLawerCase()=+S2.toLawerCase() ;

trim :
La mthode trim permet de supprimer les espace au dbut et a la fin du chane de caractre Sortie+=\n S3 aprs trim+S3.trim() ;

toString :
La mthode toString sert a exprimer le contenu dun objet sous forme du texte la mthode fourni dans la class String garantie que la valeur correcte de la chaine est renvoy . S1=Bonjour Sortie+= \n S1 =+S1.toString();

toCharArray :
Permet de cre un nouveau tableau de caractre qui contiens une copie du caractre de la chaine S1 elle affecte au tableau

Char tabCare []=S1.toCharArray() ;

50/69


www.developpez.c.la

TSDI

valueOf :
La class String fourni une srie de la mthode statique de class qui prenne des arguments de type divers, convertisse ces argument en chane et le retourne se forme dobjet String .les arguments de la mthode valueOf est de type : boolean, char, int, float, lang, double et object Tous les object sont susceptible dune conversion en String grce a la mthode ToString.

char tabCar[]={a,b,c,d,e,f} Boolean b=true ; Char c=Z ; Int i=7 ; Long e=100000000 ; Float f=

intern :
Permet dobtenir une rfrence a une chane de mme contenue que lobjet X est en affecte la rfrence Y La chane la quel Y fait rfrence est conserv en mmoire par la class String. String S1, S2, S3, S4; S3 = S1.intern(); S4 = S2.intern(); if (S3 == S4) { Sortie += "\n S3 et S4 ont le mme objet en mmoire"; } else { Sortie += "\n S3 et S4 n'ont pas le mme objet en mmoire"; }

51/69


www.developpez.c.la

TSDI

Remarque :
La mthode intern de String pour obtenir la mthode unique de S1 et S2 est rfrenc tant par S3 que S4 rfrenc tant par S3 que S4. 7-7) La class StringBuffer La class StringBuffer Of nombreuse fonctionnalit une fois qun objet String cre ne plus question de le modifier ,la class StringBuffer permet non seulement de cre mais galement de manu piler de fonction dynamique les informations sous forme dune chane et de modifier des String cr StringBuffer peuvent stock un certain nombre de caractre indique par sa capacit,Si la capacit dun StringBuffer est insuffisante il est automatiquement ajouter pour accepter les caractre supplmentaire il permet aussi dimplant les operateur + et +=qui assure la concatnation des chane.

a)Constructeur StringBuffer

La class String buffer fourni 3 constructeurs : 1-le constructeur par dfaut Pour cre un tempo chaine pour sont aucun caractre et avec une capacit initial de 16carractere Tompon1=new StringBuffer () ; 2-le constructeur qui prend un argument un entier De pour cre un StringBuffer sans caractre et dont la capacit initial est spcifi par largument entier. Tompon2=new StrigBuffer(10) ; 3- Le constructeur qui prend un argument une chane Pour cre un StringBuffer contenant des caractres de la chaine donne en argument, la capacit initial est le nombre de caractre de la chane.

52/69


www.developpez.c.la

TSDI

import javax.swing.JOptionPane; public class POO_exemple { public static void main(String args[]) { StringBuffer T1, T2, T3; T1 = new StringBuffer(); T2 = new StringBuffer(10); T3 = new StringBuffer("Bonjour"); String Sortie; Sortie = "Temp1=" + T1.toString() + "\nTemp2=" + T2.toString()+ "\nTemp3=" + T3.toString(); JOptionPane.showMessageDialog(null, Sortie); } }

La mthode ToString pour convertir des StringBuffer on objet chane

Remarque :

Les objets String reprsente les chanes constantes et les objets StringBuffer sont des chaine modifiable.

53/69

TSDI

www.developpez.c.la Java effectue cette destination entre chane constante ou modifiable pour des raisons doptimisation

*Avantage :
Le choix dutilis action entre un Objet String et un StringBuffer pour reprsent une chane .prfre lobjet String si vous ts certain que cette chane ne changera pas, se choix amliore considrablement les performances.

*Inconvnient :
Lappel sur les objets String des mthodes de StringBuffer alors que ces mthode nexiste pas dans la class String constitue une erreur de syntaxe.

b) Mthodes : length, Capacity, ensureCapacity, setLength : **length : Permet de retourner le nombre de caractre prsent actuellement dans un StringBuffer . **Capacity: Permet de retourner le nombre de caractre mmorisable dans un StringBuffer sans nhsiter dallocation dune mmoire supplmentaire **ensureCapacity: Permet de garantir au programmeur la capacit minimal dun StringBuffer . **setLength : Permet de augmenter ou de dmunie la longueur de StringBuffer .

import javax.swing.JOptionPane; import javax.swing.JTextArea; public class String_Test { public static void main(String args[]) { StringBuffer Temp = new StringBuffer("Bonjour,comment allezvous ?"); String Sortie = "Tempo=" + Temp.toString() + " \n length=" + Temp.length() + " \n capacity=" + Temp.capacity(); Temp.ensureCapacity(75); Sortie += "\n la nouvelle capacit=" + Temp.capacity(); Temp.setLength(16); Sortie += "\n nouvel longueur=" + Temp.capacity() + "\n tempon=" + Temp.toString(); JOptionPane.showMessageDialog (null, Sortie); } }

54/69


www.developpez.c.la

TSDI

55/69


www.developpez.c.la

TSDI

Remarque :
La capacit de StringBuffer tendue une

c) Mthodes charAt,setCharAt,getchars,reverse

charAt:
reois un argument entier qui forme le numro de lemplacement du caractre et retourne le caractre situ cette endroit S1.charAt(0) ; S1.charAt(4) ;

setcharAt:
permet de dfinir le caractre a lemplacement donn ,demande en argument un entier et un caractre pour impos le caractre situ lemplacement spcifi .

Remarque :
Lindex donn aux mthode charAt et setcharAt doit tre suprieur ou gale 0 est infrieur la longueur de StringBuffer sinon gnre syntaxe erreur

tempo.setcharAt(0) Tempon.setcharAt(9 ;v)

getcharAt:
Retourne un tableau de caractre qui contient une copie de caractre prsent dans la StringBuffer. La mthode nhsite 4 arguments : *lindex partir le quel a lieu la copie du caractre du chane. *lindex du dernier caractre a copi a partir de la chane +1. *le tableau des caractre dans le quel les caractre seront copi. *lemplacement de dpart dans le tableau du caractre ou le premier caractre sera plac. char tableau []=new char [tompon.length()] ; Tompon .getchar(0,length,tableau,0); Sortie+=\n \n Voici les caractre de tableau :); For(int i=0 ;i<=tompon.length ;i++) Sortie+=tabchar[i];

56/69


www.developpez.c.la

TSDI

reverse:permet de revers une chane de n 1 (ou bien extraire le


contenue de StringBuffer rebours).

d)Mthodes apprend : Grce StringBuffer et la mthode append que le compilateur peut mettre en place les oprateurs + et += de concatnation de chane String.

String chane 1=Bonjour; String chane2=BC; Int valeur =22 String S=chain1+chaine2+chaine3 StringBuffer S=new StringBuffer().append(bonjour).append(BC).append(22).toString(); e)Mthodes dinsertion et de suppression La class StringBuffer fourni 9 mthode insert surcharger qui permettais dinsre des valeur de divers type des donn a nimporte quel emplacement dans un String objet O=Bonjour; String S=Au revoir; Char tabCar[la a,b,c,d,c,e,j} ; boolean b=true; Char c='15'; Int i=7; Lang l=10000000; float f=2,5f; Double d=33,33333; StringBuffer tompon=StringBuffer(); Tompon.insert(0,O); Tompon.insert(0, ); Tompon.insert(0,s); Tompon.insert(0, ); Tompon.insert(0,tabCar); Tompon.insert(0, ); Tompon.insert(0,b); String Sortie=tampon aprs insertion:\n+tampon.toString();

57/69


www.developpez.c.la

TSDI

delete/deleteCharAt:
Permet de supprimer un ou des caractres nimporte quelle emplacement dans StringBuffer

delete :
Demande deux argument lindice de dpart et celui de la fin +1 de la suite de caractre a supprimer .tous les caractre compris entre lindice de dpart mais nom compris lindice de fin sont supprimer.

deleteCharAt :
Ne prend quun argument, lindice de caractre supprimer.

Remarque :
Les indices non valables provoquent le lancement par les deux mthodes dune syntaxe erreur (StringOutOfBorndsException)

tompon.deleteCharAt(20); Tompon.delete(2,6); Sortie+="\n tompon aprs suppression:\n" +tampon.toString();

7-8) La class StringBuffer: Java fourni un certain nombre de classes qui permettent de traiter des variables de type primitive comme si elles tait des objets. Les classes sont boolean, character, double, float, byte, chort, integer, lang. Elle drive toutes les nombres sauf boolean et character, ses 8 classes on les appels des emballages de type et font partie de package java.lang les objet de ses classes sont utilisables nimporte ou dans un programme.

isdefined :
Dtermine si le caractre est dfini dans la table de code ASCCI si oui retourne vrai si non retourne faux

58/69


www.developpez.c.la

TSDI

isdegit

Dtermine si le caractre est un chiffre si oui retourne vrai si non retourne faux

isJavaIdentifierStart :dtermine si le caractre est utilisable comme


premier caractre dun identificateur java ,une lettre un caractre de soulignement ou un signe lart si oui retourne vrai si non retourne faux .

character. isdefined(c) ; character. isletter (c) ; character. isJavaIdentifierStart(c) ;

isJavaIdentifierPart :
Dtermine Si le caractre est une lettre dun identificateur java

isLetter :
Dtermine si le caractre est une lettre

Remarque :
La plupart des mthode de la class character sont statique, il prenne au moins un argument pour effectu un test ou une manipulation du caractre, cette class comporte aussi un constructeur qui reoit un argument char pour initialiser un objet character .il y a aussi les mthode non statique

isLetterOrDigit :
Dtermine si le caractre est une lettre ou une chiffre

isLowerCase :
Dtermine si le caractre est miniscule

isUpperCase :
Dtermine si le caractre est majuscule

character.isJavaIdentifierPart(c);

59/69

TSDI

www.developpez.c.la character.isLetter(c); character.isLetterOrDigit(c); "\n le caractre est en miniscule"+character.isLower(c); "\n le caractre est un lettre capital :"+character.isUpperCase(c);

toUpperCase :
Permet de convertir le caractre son quivalent en capital la mthode renvoi le caractre convertis si le caractre un quivalent en capital sinon renvoi son argument original.

"\n le caractre est miniscule en majuscule"+character.toUpperCase(c);

ToLowerCase :
De convertir le caractre son quivalent en miniscule la mthode renvoi le caractre convertis si le caractre un quivalent en miniscule sinon renvoi son argument original.

"\n le caractre est majuscule en miniscule "+character.toLowerCase(c);

**Les mthodes digit et forDigit :


Effectue les conversion entre les caractres et des chiffres en les diffrent systme de numration

digit:
Converti le caractre en entier dans le systme de numration indique par un entier

char c ; character.digit(c,entier) ;

ForDigit:converti le chiffre en caractre dans le systme de numration


indiqu par un entier.

60/69


www.developpez.c.la Int chiffre ; Character.forDigit(chiffre,entier) ;

TSDI

Les mthodes non statique de la class non statique de la class character sont les constructeurs : charValue, toString, hashcode et equals.

charValue :
Permet de retourner la valeur char dans la mthode character qui est C1 par contre lobjet C2 est renvoy a String a laide de toString.

character C1,C2; C1=new character(A); C2=new character(a); String Sortie=C1 =+C1.charValue()+\n C2=+C2.toString();

hashcode :
La mthode effectue des calcules des codes des dcoupage pour des objets String est character les valeur des codes de dcoupage servent a stock des objet dans des table de dcoupage on vue de leur rcupration rapidement. La table de dcoupage mmorise des information laide dun calcul spcial sur les objet a stock il permet de choisir lemplacement de la table dans le quel il faut stock lobjet pour retourne linformation. character C1,C2; Sortie=\n code de dcoupage de:+C1.hashcode() ; Sortie+=\n code de dcoupage de:+ C2.hashcode() ;

7-9) La class String Tokenizer: La lecture dune phrase, notre esprit dcoupe cette phrase en mot individuel et signe de ponctuation dans chacun une signification dans nos yeux. Le complateur oprent un certain dcoupage en jetons galement suivant le mme principe. Il dcompose des instructions en des petits lments individuelles, cest la classe StringTokenizer de package java.util qui dcompose une chane en mot, on destingue les mots les uns les autres par dlimiteur soit le caractre despace, tabulation, retour la ligne, on retour

61/69

TSDI

www.developpez.c.la chariot il y a d'autre caractre peuvent aussi servir de dlimiter et sparer les mots.

StringTokenizer jeton=new StringTokenizer(chane a dcoup); jeton.countTokens()+"\n les jetons sont:\n; While (jeton.hasMoreTokens()) ZoneSortie.apprend (jeton.nextToken()+"\n");

VIII-Traitement des Exceptions:


8-1-Introduction Une exception indique un problmes se manifeste pendant lexcution dun programme, la facult de java augmente le nombre et les types derreurs peuvent apparatre. 8-2-Dfinition Il existe de nombreuse moyens de trait les erreurs, le codes de gestion des erreur se voie des perc tous au long du code de logiciel, il sont grer au endroit mme au risque de se produire la meilleur moyens offrir au programmeur qui relie des codes de voir le code de gestion des erreurs et de dterminer si la vrification adquate mis en place. 8-3-La gestion des exceptions La mise en place des traitements des exceptions permet au programmeur dintercepter et de grer les erreurs au lieu de les laisser se produire et dont subir les consquence quelque exemples des exception : -despacement dun limites du tableau par lindice. - despacement arithmtique (lorsquune valeur se retrouve hors de lchelle du valeur reprsentable) -devisions par zro -dclaration des mthodes non valide -puisement de la mmoire Les traitement des exceptions et destiner a grer les condition de fonctionnement exceptionnelle qui napparaisse pas frquemment mais qui peuvent se produire .les exception sont des objets de class qui drive de mme super class ;

62/69


www.developpez.c.la

TSDI

8-4-Quand utiliser des exceptions ? Les exceptions est utilisable pour : -grer des situations exceptionnelles ou une mthode est un capable dachever sa tache pour des raisons qui ne peut contrler. - traiter les exceptions provenant composons logiciels qui ne sont pas quip pour grer directement ses exceptions. -Grer les exceptions dune manire uniforme toute au long dun grand projet.

Remarque :
Java impose au programmeurs de pondre en conte le traitement des exceptions depuis le commencement dun projet il doit incorpor une stratgie de gestion des exceptions dans cette projet.

8-5-Linterception des exceptions Linterception des exceptions sur des blocs protger suivi du code de prise ne charge des exceptions appeler trait des exceptions ou gestionnaire des exceptions. Le gestionnaire des exceptions permet de capture, intercept de lexception, et la traiter

public class Exemple_Exception { public static void main(String args[])throws exception { Bloc de code protge(unique) try { //Code susceptible de lever ou lancer une exception } catch(type d'exception et rfrenc l'identificateur ) {

Gestionnaire dexception(mult iples) protge(unique)

63/69


www.developpez.c.la //code de gestion d'une exception } } }

TSDI

Bloc try : Une exception qui se produire dans le bloc try et normalement intercepter par un gestionnaire indique de=ans un bloc catch. Le code qui peut gnrer une exception et tous codes qui ne peut pas sexcute si une exception se produit ; Bloc Catch : Spcifie le type dexception qui peut intercepter et contient un gestionnaire dexceptions, ce dernier bloc catch est suivi dun bloc finally. Bloc finally : Est optionnel offre le code qui doit toujours sexcut quune exception donn se produise on nom.

try{ //code } Catch(Exception..) { //traitement des Exceptions } Catch(Exception..) } Finally { //introductions de liberation de resources } 8-6-Lancer une exception:

64/69

TSDI

www.developpez.c.la Un gestionnaire d'exception peut dcider de ne pas traiter l'exception qu'il est sens grer, soit parce que il estime ne pas tre en mesure de le faire, soit il souhaite on laisse le traitement un autre gestionnaire catch. La relance de l'exception se fait par l'instruction suivante: throws new rfrenceException;

public double quotient(int i, int d)throws DivisionparZeroException { If(d==0) Throws new DivisionparZeroException(); Return (double) i/d; }

Remarque :
Si le dnominateur, le corps de if excute l'instruction throws qui crie et lance un nouvel objet DivisionparZeroException et intercepter par le bloc catch dont l'argument et de type arithmtique exception qui se situer directement aprs le bloc try. Le bloc catch spcifie un nom de paramtre arithmtique exception destiner recevoir l'objet d'exception lanc, le gestionnaire arithmtique exception convertie l'exception on une String par la mthode toString, la chane est pass au tant que message afficher dans une boite de dialogue d"erreur.

Catch(ArithmticException arithmticException) { JOptionPane.showMessageDialog(this,arithmticException.toString(), "Exception arithmtique",JOptionPane.ERROR_MESSAGE); }

this :
Est une rfrence se refaire implicitement au variable d'Instance et au mthode d'un objet.

Instance :
Thermes indiquant qu'un objet est cri partir d'une classe.

65/69


www.developpez.c.la

TSDI

Throws :
Reprend une liste des exceptions qu'une mthode est susceptible de lancer.

IX-Les fichiers:
9-1-Introduction: Le stockage de donne dans des variables et des tableaux est de nature provisoire, les donnes disparaissent dis que les variables n'est plus aperte ou dis que le programme se termine, par contre les fichiers retiennent indfiniment de grand volume des donnes mme aprs la fin du programme qui on est la source. 9-2-Dfinition: Le traitement du fichier est l'un de fonctionnalit incontournable qui doit possder un langage pour raliser les applications commerciales, qui gre une masse inorme des donnes permanant. Le traitement du fichier ni qu'un sous ensemble des fonctionnalits de traitement mise la disposition du programme pour lire et crire les donnes en mmoire. Les librairies de la plat forme Java offre un grand nombre de classe ddi au les Entr/Sortie E/S, ce classe se trouve dans le package java.io il y a aussi des sous package a t introduit pour complter "java.io" avec des nouvelles fonctionnalits. 9-3-Hirarchie des donnes: Un ordinateur traite toutes les donnes comme combinaison de 0 et 1, si les caractres sont composs de bit, les champs en sont composs de caractre, un champ est un argument de caractre ou d'octet qui possde un signification. Un champ : Dsigne le nom de la personne plusieurs champs que java appel variable dInstance composant un enregistrement que java mise en sous forme dune classe.

Un logiciel de paie, un enregistrement relatif un employ donn pourrait tre constitu des champs suivants : Numro didentification de lemploy = int

66/69

TSDI

www.developpez.c.la Nom = String Prnom = String Adresse = String Salaire horaire = double Nombre de dduction = int Cumule des salaires = int double Retourne fixe = int double

Chacun de ces champs est reli au mme employ (on lappel enregistrement), donc un enregistrement de paie pour chaque employ (on lappel fichier). Un fichier est un ensemble denregistrement, pour faciliter la rcupration denregistrement spcifique dans un fichier, au moins un des champs est choisie comme cl denregistrement, un cl dsigne exclusivement lenregistrement associ une personne ou un article parmi tous les enregistrements des fichiers. Le champ du numro didentification de lemploy peut tre considrer comme cl de lenregistrement. 9-4-Organisation squentielle : Il existe plusieurs faons dorganiser des enregistrements dans un fichier. Lorganisation la plus courante est dite (lorganisation squentielle). Dans un fichier squentiel les enregistrements sont classs par ordre de la cl denregistrement. Un groupe de fichier associ est appel une base de donne. Lensemble des programmes conus pour grer et manipuler des bases de donnes portent le nom Systme de gestion de base de donne. Tous fichiers se terminent soit par une marque de fin de fichier, soit par un numro doctet prcis consign dans la structure des donnes administratives maintenu par le systme. Java rsume ce concept sur des informations que lui donne le programmeur. Lidentification de fin du fichier apparat sous la forme exception, tant que dans dautre cas il se prsente comme une valeur de retour dune mthode invoque sur un objet de traitement de flux. Un programme java ouvre un fichier en crant priorit 3 objets de flux quelle associe aux priphriques au dbut de son excution. System.in System.out System.err

67/69

TSDI

www.developpez.c.la Les flux associs ces objets fournissent les canaux de communication entre un programme et un priphrique bien dtermin. System.in : lobjet de flux dentre standard. Permet un programme dentrer des donnes saisies au clavier ou de lire des octets dune source diffrente. System.out : lobjet de flux de sortie standard. Permet dafficher les donnes lcran. System.err : lobjet des flux derreur standard. Permet de sortir des messages derreur lcran. Par contre les 2 objets .out et .err permettent denvoyer les sorties une autre dsignation comme dans un fichier sur disque. La classe System propose aussi des mthodes qui permettent de rdiger les flux dentre, de sortie et derreur standard comme : setIn, setOut, setErr. Les programmes Java effectuent un traitement de fichier laide de la classe de package java.io.* ; comporte des dfinitions pour les classes des flux tel que FileInputStream permet lentre doctet partir dun fichier ou bien lire dans les fichiers. File Reader : Permet lentre des caractres partir dun fichier. File Writer : Permet la sortie des caractres partir dun fichier. Pour effectuer des entres et sorties de type de donne. On peut aussi utiliser des objets de la classe ObjectInputStream, DataInputStream. 9-5-Etude dun fichier : Pour crire squentiellement dans un fichier on utilise la classe printWriter.

Ouverture :
String Nfich=Donnes.dat ; printWriter f=new printWritrer(new BufferedWriter (new FileWrite(Nfich))); Ou bien: printWriter f=new printWriter(new File(Donnes.dat)) ;

Ecriture :
f.print(nom) ;

68/69


www.developpez.c.la Ou bien : f.println(nom) ;

TSDI

Fermeture :
f.close() ;

69/69

You might also like