Tutoriel java

715 vues

Publié le

Programmation Java

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
715
Sur SlideShare
0
Issues des intégrations
0
Intégrations
12
Actions
Partages
0
Téléchargements
48
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Tutoriel java

  1. 1. Cours Tutoriel JAVA DIABY Kalilou 23 F´evrier 2015 DIABY Kalilou Cours Tutoriel JAVA
  2. 2. ”Le bonheur c’est lorsque nos actes sont en conformit´es avec nos pens´ees ”: Gandhi DIABY Kalilou Cours Tutoriel JAVA
  3. 3. Sommaire Dans notre s´eance de tutoriel nous aborderons dans un premier temps les m´ethodes : • Outils de la Programmation Orient´ee Objet. • l’h´eritage • le JAVABEAN • les exceptions • le design pattern • aper¸cu des JDBC. NB : Nous aborderons pas le cˆot´e graphique de JAVA car d’un point de vue personnelle, je trouve qu’il existe des outils beaucoup plus puissants permettant de d´evelopper de mani`ere graphique et de l’appeler dans un langage de programmation tel que JAVA. DIABY Kalilou Cours Tutoriel JAVA
  4. 4. G´en´eralit´es Partie 1 : G´en´eralit´es Rappels sur le monde de JAVA 1 Historique : Source : Wikipedia 2 Recommandations DIABY Kalilou Cours Tutoriel JAVA
  5. 5. G´en´eralit´es Partie 1 : G´en´eralit´es Rappels sur le monde de JAVA 1 Historique : Source : Wikipedia 2 Recommandations DIABY Kalilou Cours Tutoriel JAVA
  6. 6. G´en´eralit´es 1 Historique : Source : Wikipedia Le langage Java est un langage de programmation informatique orient´e objet cr´e´e par James Gosling et Patrick Naughton, employ´es de Sun Microsystems, avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), pr´esent´e officiellement le 23 mai 1995 au SunWorld. La soci´et´e Sun a ´et´e ensuite rachet´ee en 2009 par la soci´et´e Oracle qui d´etient et maintient d´esormais Java. La particularit´e et l’objectif central de Java est que les logiciels ´ecrits dans ce langage doivent ˆetre tr`es facilement portables sur plusieurs syst`emes d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou pas de modifications. DIABY Kalilou Cours Tutoriel JAVA
  7. 7. G´en´eralit´es Pour cela, divers plateformes et frameworks associ´es visent `a guider, sinon garantir, cette portabilit´e des applications d´evelopp´ees en Java. Le langage Java reprend en grande partie la syntaxe du langage C++, tr`es utilis´ee par les informaticiens. N´eanmoins, Java a ´et´e ´epur´e des concepts les plus subtils du C++ et `a la fois les plus d´eroutants, tels que les pointeurs et r´ef´erences, ou l’h´eritage multiple contourn´e par l’impl´ementation des interfaces. Les concepteurs ont privil´egi´e l’approche orient´ee objet de sorte qu’en Java, tout est objet `a l’exception des types primitifs (nombres entiers, nombres `a virgule flottante, etc.). Java permet de d´evelopper des applications client-serveur. Cˆot´e client, les applets sont `a l’origine de la notori´et´e du langage. C’est surtout cˆot´e serveur que Java s’est impos´e dans le milieu de l’entreprise grˆace aux servlets, le pendant serveur des applets, et plus r´ecemment les JSP (JavaServer Pages) qui peuvent se substituer `a PHP, ASP et ASP.NET. DIABY Kalilou Cours Tutoriel JAVA
  8. 8. G´en´eralit´es Java a donn´e naissance `a un syst`eme d’exploitation (JavaOS), `a des environnements de d´eveloppement (eclipse/JDK), des machines virtuelles (MSJVM (en), JRE) applicatives multiplate-forme (JVM), une d´eclinaison pour les p´eriph´eriques mobiles/embarqu´es (J2ME), une biblioth`eque de conception d’interface graphique (AWT/Swing), des applications lourdes (Jude, Oracle SQL Worksheet, etc.), des technologies web (servlets, applets) et une d´eclinaison pour l’entreprise (J2EE). La portabilit´e du bytecode Java est assur´ee par la machine virtuelle Java, et ´eventuellement par des biblioth`eques standard incluses dans un JRE. Cette machine virtuelle peut interpr´eter le bytecode ou le compiler `a la vol´ee en langage machine. La portabilit´e est d´ependante de la qualit´e de portage des JVM sur chaque OS. DIABY Kalilou Cours Tutoriel JAVA
  9. 9. G´en´eralit´es 1 2 Recommandations Salut `a tous et `a toutes. Ce cours se pr´esentera sous forme de tutoriels et sera `a vrai dire diff´erents de ceux que vous aviez l’habitude de voir. On partira d’un principe tr`es simple : Toujours donner le meilleur de soi mˆeme et ne jamais au grand jamais donner son maximum Ce tutoriel se pr´esentera sous la forme de petits exemples qui seront expliqu´es de fa¸con simples en vue de faciliter sa compr´ehension. DIABY Kalilou Cours Tutoriel JAVA
  10. 10. G´en´eralit´es L’objet d’un tel document fut motiv´e par deux facteurs que sont: 1 la d´emystification de certains aspects de la programmation que l’on rencontre dans bon nombre de documents de programmations. 2 la mise `a la disposition de documents assez simple de compr´ehension et de lecture de tous. 3 l’´elaboration et ´ecriture de programmes intelligents, simple et propre. 4 l’ utilit´e de tel ou tel langage de programmation. DIABY Kalilou Cours Tutoriel JAVA
  11. 11. G´en´eralit´es L’objet d’un tel document fut motiv´e par deux facteurs que sont: 1 la d´emystification de certains aspects de la programmation que l’on rencontre dans bon nombre de documents de programmations. 2 la mise `a la disposition de documents assez simple de compr´ehension et de lecture de tous. 3 l’´elaboration et ´ecriture de programmes intelligents, simple et propre. 4 l’ utilit´e de tel ou tel langage de programmation. DIABY Kalilou Cours Tutoriel JAVA
  12. 12. G´en´eralit´es L’objet d’un tel document fut motiv´e par deux facteurs que sont: 1 la d´emystification de certains aspects de la programmation que l’on rencontre dans bon nombre de documents de programmations. 2 la mise `a la disposition de documents assez simple de compr´ehension et de lecture de tous. 3 l’´elaboration et ´ecriture de programmes intelligents, simple et propre. 4 l’ utilit´e de tel ou tel langage de programmation. DIABY Kalilou Cours Tutoriel JAVA
  13. 13. G´en´eralit´es L’objet d’un tel document fut motiv´e par deux facteurs que sont: 1 la d´emystification de certains aspects de la programmation que l’on rencontre dans bon nombre de documents de programmations. 2 la mise `a la disposition de documents assez simple de compr´ehension et de lecture de tous. 3 l’´elaboration et ´ecriture de programmes intelligents, simple et propre. 4 l’ utilit´e de tel ou tel langage de programmation. DIABY Kalilou Cours Tutoriel JAVA
  14. 14. Premiers pas Introduction En POO (Programmation Oriente Objet), JAVA, tout est classe et objet. Dans notre sch´ema, nous ob´eirons la norme JAVABEAN, et ceux d`es le d´ebut de ce tutoriel. Il nous est possible de d´evelopper de mani`ere traditionnelle ou d’utiliser un IDE. Nous opterons ici pour l’ EDI (Environnement de D´eveloppement Int´egr´e) ; peut importe celui que vous utiliser : ECLIPSE, INTELLIJI, NETBEANS. ´Ecrivons notre premier projet JAVA ( ctrl + n ), et donnons un nom a notre projet ; dans mon cas je travaille avec JDK 7 . Une fois cela fait cr´eons notre 1 `ere classe JAVA : dika.java Au moment de la cr´eation de dika.java, il nous est demande de renseigner un nom de Package que nous remplirons selon la convention du Reverse DNS pour Nom de domaine Invers´e. DIABY Kalilou Cours Tutoriel JAVA
  15. 15. Premiers pas Pour ceux qui ne le savent pas, le DNS est le nom que l’on attribue `a une adresse IP(192.168.15.42) en vue de faciliter son acc`es que ce soit par le client que par l’Informaticien. Cette @ IP fictive correspond a www.google.ci. A supposer que l’on d´eveloppe pour ces derniers, on pourrait entrer comme nom de package : ci.google.vuegenerale. Ou dans le cas, ou l’on aura `a utiliser plusieurs packages : ci.google.vuegenerale.machine.control Vue qu’ici on aborde JAVA de fa¸con simple, nous n’allons pas trop pol´emiquer sur ce que c’est le package. Ensuite cr´eons notre classe en y ajoutant un nom `a la classe. DIABY Kalilou Cours Tutoriel JAVA
  16. 16. Premiers pas Exemple : DIABY Kalilou Cours Tutoriel JAVA
  17. 17. Premiers pas Ajoutons un message de bienvenue dans notre console qui se trouve `a cˆote de l’onglet probl`emes Pour ce faire, nous rajouterons ce bout de code : System.out.println(”Bienvenue”);ou System.out.print(”Bienvenue”); .On obtient donc : package com.dikait.vuegenerale; public class dika { public static void main(String[ ] args) { System.out.println(”Bienvenue”); } } Le System.out.print(”Bienvenue”) se contentera d’afficher le mot Bienvenue sans retour `a la ligne. Alors que le System.out.println(”Bienvenue”); ferait automatiquement un retour `a la ligne. Vous pouviez le tester en rajoutant d’autres choses dans votre code. DIABY Kalilou Cours Tutoriel JAVA
  18. 18. Outils de la POO en JAVA Les types Objets et Primitifs 1 Les types primitifs 2 Les types Objets DIABY Kalilou Cours Tutoriel JAVA
  19. 19. Outils de la POO en JAVA Les types Objets et Primitifs 1 Les types primitifs 2 Les types Objets DIABY Kalilou Cours Tutoriel JAVA
  20. 20. Outils de la POO en JAVA 1 Les types primitifs En POO, on emploie g´en´eralement le terme type primitif que lorsque veut fait r´ef´erence `a des variables de types simples c’est `a dire pr´ed´efinie dans le langage en question. Il est d’usage de mettre la premi`ere lettre du nom de notre attribut( variable ) en minuscules, puis le compl´eter ”comme nous le voulons”. En JAVA, il en existe un bon nombre. Ce qui est le cas des autres langages de programmation orientes objets. N´eanmoins certaines diff´erences s’y glissent d’un langage `a un autre. Exemple : En Java le type String est un type primitif, alors qu’en CSharp (C#) ce type est `a la fois Objet et/ou primitif selon l’´ecriture que l’on emploie; en l’´ecrivant avec un grand ”S” il est un type Objet, et en l’´ecrivant avec un ”s” il devient un type primitif. DIABY Kalilou Cours Tutoriel JAVA
  21. 21. Outils de la POO en JAVA Pour rester dans le cadre de JAVA, nous parlerons des types primitifs les plus utilis´es que sont: 1 Integer (Entier): Ce type permet de g´erer des attributs qui serviront au programmeur de manipuler les entiers. 2 Double (double): Ce type permet de g´erer des attributs qui prendront des valeurs decimal avec une plage bien d´efinie( nombre de z´eros connue). 3 Float (R´eel ): Ce type permet la manipulation de valeurs r´eel. Vous remarque sans doute qu’il a les mˆemes fonctions que le double, alors quelle diff´erences existent-ils entre ces deux types. La r´eponse `a cette question serait en terme d’espaces de m´emoire qu’elle offre aux attributs qui sont d´eclares en ce type; la plage est bien plus importante que celle du double. DIABY Kalilou Cours Tutoriel JAVA
  22. 22. Outils de la POO en JAVA Pour rester dans le cadre de JAVA, nous parlerons des types primitifs les plus utilis´es que sont: 1 Integer (Entier): Ce type permet de g´erer des attributs qui serviront au programmeur de manipuler les entiers. 2 Double (double): Ce type permet de g´erer des attributs qui prendront des valeurs decimal avec une plage bien d´efinie( nombre de z´eros connue). 3 Float (R´eel ): Ce type permet la manipulation de valeurs r´eel. Vous remarque sans doute qu’il a les mˆemes fonctions que le double, alors quelle diff´erences existent-ils entre ces deux types. La r´eponse `a cette question serait en terme d’espaces de m´emoire qu’elle offre aux attributs qui sont d´eclares en ce type; la plage est bien plus importante que celle du double. DIABY Kalilou Cours Tutoriel JAVA
  23. 23. Outils de la POO en JAVA Pour rester dans le cadre de JAVA, nous parlerons des types primitifs les plus utilis´es que sont: 1 Integer (Entier): Ce type permet de g´erer des attributs qui serviront au programmeur de manipuler les entiers. 2 Double (double): Ce type permet de g´erer des attributs qui prendront des valeurs decimal avec une plage bien d´efinie( nombre de z´eros connue). 3 Float (R´eel ): Ce type permet la manipulation de valeurs r´eel. Vous remarque sans doute qu’il a les mˆemes fonctions que le double, alors quelle diff´erences existent-ils entre ces deux types. La r´eponse `a cette question serait en terme d’espaces de m´emoire qu’elle offre aux attributs qui sont d´eclares en ce type; la plage est bien plus importante que celle du double. DIABY Kalilou Cours Tutoriel JAVA
  24. 24. Outils de la POO en JAVA 1 Char (caract`ere): Celui ci permet la gestion des caract`eres(Exemple : a, est un caract`ere). 2 String (Chaˆıne de caract`eres) : Comme son nom l’indique permet la gestion de chaˆınes de caract`eres(mot bien faites ou pas). Retenez que ce sont des attributs qui vous serviront dans votre programme vous pourriez choisir les noms qui vous sien. DIABY Kalilou Cours Tutoriel JAVA
  25. 25. Outils de la POO en JAVA 1 Char (caract`ere): Celui ci permet la gestion des caract`eres(Exemple : a, est un caract`ere). 2 String (Chaˆıne de caract`eres) : Comme son nom l’indique permet la gestion de chaˆınes de caract`eres(mot bien faites ou pas). Retenez que ce sont des attributs qui vous serviront dans votre programme vous pourriez choisir les noms qui vous sien. DIABY Kalilou Cours Tutoriel JAVA
  26. 26. Outils de la POO en JAVA 1 2 Les types Objets Lorsque l’on parle de type Objet, en fait l’on fait r´ef´erence a un mod`ele qui nous est propre; c’est `a dire que ce type a ´et´e cr´eer par nous mˆeme. Ce type poss`ede des comportements qui ont ´et´e d´efinies par le programmeur lui mˆeme. Pour ce qui est de l’exemple voir la partie sur les classes. Exemple : Personne dika = new Personne(); DIABY Kalilou Cours Tutoriel JAVA
  27. 27. Quelques mots clefs Quelques mots clefs 1 this 2 super 3 null DIABY Kalilou Cours Tutoriel JAVA
  28. 28. Quelques mots clefs Quelques mots clefs 1 this 2 super 3 null DIABY Kalilou Cours Tutoriel JAVA
  29. 29. Quelques mots clefs Quelques mots clefs 1 this 2 super 3 null DIABY Kalilou Cours Tutoriel JAVA
  30. 30. Quelques mots clefs 1 this Le mot clef this, est l’un des termes le plus utilise en POO. Car il permet au programmeur de sp´ecifier `a son code qu’il souhaiterait effectuer une tache ou un traitement sur l’objet en cours; il permet donc l’instanciation de l’objet en cours. Sa syntaxe est : this.objet; Il s’utilise tr`es souvent `a l’int´erieur de m´ethodes pr´ed´efinies par le langage ou d´efinie par le programmeur (l’ utilisateur). NB : Ne perdez pas de vue le fait qu’en JAVA tout est classe et Objet. DIABY Kalilou Cours Tutoriel JAVA
  31. 31. Quelques mots clefs 1 2 super En POO, nous sommes le plus souvent confrontes a des probl`emes de red´efinition de m´ethodes. Ce qui a tendance `a souvent porter a confusion bon nombre de programmeurs. Pour palier `a ce probl`eme Java a mis `a la disposition des programmeurs,le mot clef super afin que tout programmeur qui souhaiterait manipuler des m´ethodes red´efinies de la classe m`ere dans la classe fille, puisse le faire. Sa syntaxe est la suivante : super.methodeDeLaClasseMereRedefinie(); DIABY Kalilou Cours Tutoriel JAVA
  32. 32. Quelques mots clefs 1 2 3 null En POO, le vide est symbolise par le terme null et non par un espace blanc(champ vide). Parlant du vide qu’entendons-nous? Par vide, nous exprimons le fait pour un objet, son existence ou pas. Partant de l’exemple de certaines chemises, il est possible de s’apercevoir que certaines d’entre elles n’ont pas de poches. On pourrait dans ce cas en JAVA, parler de poche == null . DIABY Kalilou Cours Tutoriel JAVA
  33. 33. Les m´ethodes en POO JAVA Les m´ethodes en POO JAVA 1 M´ethodes de classe 2 M´ethodes Objets 3 R´ed´efinition 4 Surchage DIABY Kalilou Cours Tutoriel JAVA
  34. 34. Les m´ethodes en POO JAVA Les m´ethodes en POO JAVA 1 M´ethodes de classe 2 M´ethodes Objets 3 R´ed´efinition 4 Surchage DIABY Kalilou Cours Tutoriel JAVA
  35. 35. Les m´ethodes en POO JAVA Les m´ethodes en POO JAVA 1 M´ethodes de classe 2 M´ethodes Objets 3 R´ed´efinition 4 Surchage DIABY Kalilou Cours Tutoriel JAVA
  36. 36. Les m´ethodes en POO JAVA Les m´ethodes en POO JAVA 1 M´ethodes de classe 2 M´ethodes Objets 3 R´ed´efinition 4 Surchage DIABY Kalilou Cours Tutoriel JAVA
  37. 37. Les m´ethodes en POO JAVA 1 M´ethodes de classe Une m´ethode peut-ˆetre d´efini comme une fonction, qui sera utilisable dans tout le programme. Elle poss`ede un type de retour(primitif ou objet) , une port´ee, un ou des arguments, et le mot cl´e static. Elle permet une organisation plus simple et efficace des objets que nous auront `a utiliser. Exemple de m´ethode de classe : • Type de retour: void (rien) • Port´ee : Public • Le nom de la m´ethode ici correspond a methode-de-classe • Nombre d’arguments : aucun DIABY Kalilou Cours Tutoriel JAVA
  38. 38. Les m´ethodes en POO JAVA 1 2 M´ethodes Objets M´ethodes d’objets quand `a eux n’ont pas le mot cl´e static. Nous verrons plus en d´etail cela lorsque nous verrons les getters et setters. • Port´ee Public : Accessible `a toutes les classes du package. • private: Accessible qu’aux m´ethodes de la classe dans laquelle elle est contenue. • protected : Accessible au mˆeme package. DIABY Kalilou Cours Tutoriel JAVA
  39. 39. Les m´ethodes en POO JAVA DIABY Kalilou Cours Tutoriel JAVA
  40. 40. Les m´ethodes en POO JAVA 1 2 3 R´ed´efinition La red´efinition consiste `a r´e´ecrire une m´ethode d´ej`a existante de notre classe m`ere, dans notre classe h´eriti`ere ( fille ). De ce fait si l’on h´erite de la m´ethode JavaBean(String nom, String prenom), on pourrait red´efinir cette m´ethode en la modifiant en gardant ces arguments, port´ee, ... Exemple : Redefinition.java DIABY Kalilou Cours Tutoriel JAVA
  41. 41. Les m´ethodes en POO JAVA - JavaBean.java import java.util.Set; public class JavaBean { String nom, prenom; public JavaBean() { ... } public String getNom() { return nom; } public String getPrenom() { return prenom; } public void setNom(String nom) { this.nom = nom; } public void setPrenom(String prenom) { this.prenom = prenom; } DIABY Kalilou Cours Tutoriel JAVA
  42. 42. Les m´ethodes en POO JAVA public void JavaBeanMethodeARedefinir(String nom, String prenom) { System.out.println(”Je suis la mehode JavaBeanMethodeARedefinir de la classe m`ere”); } } DIABY Kalilou Cours Tutoriel JAVA
  43. 43. Les m´ethodes en POO JAVA 1 2 3 4 Surchage La surcharge ou sur-d´efinition consiste pour une m´ethode d’ˆetre r´e´ecrite avec des arguments diff´erents. Par exemple dans la premi`ere, on peut avoir un argument, dans la deuxi`eme deux argument,et ainsi de suite, ... , et toujours en gardant la mˆeme signature(type de retour, port´ee, nom de la m´ethode). Exemple : Sucharge.java DIABY Kalilou Cours Tutoriel JAVA
  44. 44. Les m´ethodes en POO JAVA class Test { public void personne(String nom) { // la m´ethode prend un argument System.out.println(”Je prends un seul argument qui est : ” + nom); } public void personne(String nom, String prenom) { // la m´ethode prend deux arguments System.out.println(”Je prends deux arguments qui sont : ” + nom + ” ” + prenom); } } public class Surchage { public static void main(String[ ] args) { Test objet = new Test(); // cr´eation d’un nouvel objet objet.personne(”DIABY”); objet.personne(”DIABY”, ”Kalilou”); } } DIABY Kalilou Cours Tutoriel JAVA
  45. 45. Les m´ethodes en POO JAVA Polymorphisme Le polymorphisme est le fait de pouvoir red´efinir des m´ethodes h´erit´e de la classe de base. C’est la possibilit´e de traiter de la mˆeme mani`ere des objets de type diff´erents, pour peu qu’ils soient tous de classes d´eriv´ees de la mˆeme classe m`ere. Son but est d’am´eliorer l’extensibilit´e d’un programme. DIABY Kalilou Cours Tutoriel JAVA
  46. 46. Les m´ethodes en POO JAVA Encapsulation L’encapsulation est un terme qui signifie qu’il n’est pas possible d’agir directement sur les donn´ees. Pour ce faire, on utilise des m´ethodes qui jouent le rˆole d’interfaces. En JAVA, cela est r´ealis´e via les accesseurs et mutateurs se trouvant dans notre bean. DIABY Kalilou Cours Tutoriel JAVA
  47. 47. Interaction utilisateur Interaction utilisateur 1 G´en´eralit´es 2 M´ethode de saisie utilisateur DIABY Kalilou Cours Tutoriel JAVA
  48. 48. Interaction utilisateur Interaction utilisateur 1 G´en´eralit´es 2 M´ethode de saisie utilisateur DIABY Kalilou Cours Tutoriel JAVA
  49. 49. Interaction utilisateur 1 G´en´eralit´es Dans toute activit´e et vie humaine, la communication est une condition n´ecessaire `a son bon fonctionnement et son maintient. C’est s’inspirant de ce principe, que tout programme se doit d’ˆetre le plus interactif que possible en donnant la main `a l’utilisateur de telle sorte a ´eviter qu’il s’ennuie assez vite lorsqu’il sera amener `a utiliser votre application. En POO, ou PP , cela se fait via des m´ethodes d´ej`a existantes dans des classes fournies et d´eveloppeurs par les concepteurs de ce logiciel. DIABY Kalilou Cours Tutoriel JAVA
  50. 50. Interaction utilisateur M´ethode de saisie utilisateur 1 Scanner 2 Autres m´ethodes DIABY Kalilou Cours Tutoriel JAVA
  51. 51. Interaction utilisateur M´ethode de saisie utilisateur 1 Scanner 2 Autres m´ethodes DIABY Kalilou Cours Tutoriel JAVA
  52. 52. Interaction utilisateur 1 Scanner La m´ethode Scanner est une m´ethode permettant de donner la main a l’utilisateur. Elle s’ insert dans notre code grˆace `a ce bout de code : Scanner saisieUtilisateur = new Scanner(System.in); /* System est une classe JAVA. Le ”.in” ou ”.out” permet d’utiliser respectivement l’entr´ee et la sortie du clavier .*/ On `a aussi besoin d’importer le package qui lui faut. Ici, le terme package correspond `a une librairie. Car en important un package, on charge la librairie dans lequel se trouve la m´ethode appelante. Cela se fait grˆace `a cette instruction : import java.io.*; // Le * permet d’importer tous les ´el´ements de cette librairie d’entr´ee et sortie. DIABY Kalilou Cours Tutoriel JAVA
  53. 53. Interaction utilisateur Exemple : Interaction.java import java.util.Scanner; class Interaction{ public static void main String [ ] args){ private int valeur1; Scanner lecture = new Scanner(System.in); valeur1 = lecture.nextInt(); } } DIABY Kalilou Cours Tutoriel JAVA
  54. 54. Interaction utilisateur 1 2 Autres m´ethodes Pour ce qui est des autres m´ethodes veuillez a vous r´ef´erer au web. Un tas de documents s’y trouvent. DIABY Kalilou Cours Tutoriel JAVA
  55. 55. Outils de comparaisons Outils de comparaisons 1 L’´egalit´e ( ==) et l’ affectation (=) 2 Le OU logique (||) 3 Le ET logique (& &) 4 Le modulo (%) DIABY Kalilou Cours Tutoriel JAVA
  56. 56. Outils de comparaisons Outils de comparaisons 1 L’´egalit´e ( ==) et l’ affectation (=) 2 Le OU logique (||) 3 Le ET logique (& &) 4 Le modulo (%) DIABY Kalilou Cours Tutoriel JAVA
  57. 57. Outils de comparaisons Outils de comparaisons 1 L’´egalit´e ( ==) et l’ affectation (=) 2 Le OU logique (||) 3 Le ET logique (& &) 4 Le modulo (%) DIABY Kalilou Cours Tutoriel JAVA
  58. 58. Outils de comparaisons Outils de comparaisons 1 L’´egalit´e ( ==) et l’ affectation (=) 2 Le OU logique (||) 3 Le ET logique (& &) 4 Le modulo (%) DIABY Kalilou Cours Tutoriel JAVA
  59. 59. Outils de comparaisons L’´egalit´e (==) et l’ affectation (=) En Programmation, le signe == et = diff`erent. 1 l’ affectation (=) 2 L’´egalit´e (==) DIABY Kalilou Cours Tutoriel JAVA
  60. 60. Outils de comparaisons L’´egalit´e (==) et l’ affectation (=) En Programmation, le signe == et = diff`erent. 1 l’ affectation (=) 2 L’´egalit´e (==) DIABY Kalilou Cours Tutoriel JAVA
  61. 61. Outils de comparaisons 1 l’ affectation (=) L’affectation consiste `a donner une valeur `a un attribut bien sp´ecifique; elle fixe la valeur de cette variable alpha `a une valeur bˆeta. Sa syntaxe est : Type variable1 = variable2; Toutefois, il nous est possible d’affecter une valeur `a plusieurs variables d’un coup. Sa syntaxe est : Type variable1, variable2 = variable3; Exemple : Affectation.java class Affectation { String nom = ”DIABY”; // On affecte ici au nom le mot DIABY int numero, identifiant = 123;} DIABY Kalilou Cours Tutoriel JAVA
  62. 62. Outils de comparaisons 1 2 L’´egalit´e ( ==) L’´Egalit´e consiste `a tester si une valeur valeur1 correspond `a une valeur valeur2. Elle s’utilise g´en´eralement avec les structure de contrˆoles. Sa syntaxe est : if(valeur1 == valeur2){ //instruction } Exemple : Egalite.java class Egalite{ Type valeur1 = 12; Type valeur2 = 50; if(valeur1 = valeur2){ System.out.print(”Valeur 1 est ´egale `a valeur 2”);} ... } DIABY Kalilou Cours Tutoriel JAVA
  63. 63. Outils de comparaisons 1 2 3 Le OU logique (||) Le OU logique permet d’effectuer des test. Elle s’utilise tr`es souvent dans les structures de contrˆole. Sa syntaxe est : if(varaiable1 == variable3 || variable2 == varaible4){ ... } Prenons l’exemple de la tenue vestimentaire. Si elle est tremp´ee ou si elles et sale, je ne la mettrai pas. Exemple : OuLogique.java class OuLogique{ if(tenue == trempee || tenue = sale){ System.out.print(” Je ne porterai cette tenue vestimentaire”);} } DIABY Kalilou Cours Tutoriel JAVA
  64. 64. Outils de comparaisons 1 2 3 4 Le ET logique( && ) Le ET Logique tout comme le Ou Logique, permet d’effectuer des test. Et elle s’emploie ´egalement dans les structures de contrˆole. Sa syntaxe est : if (variable1 == variable3 && variable2 == variable4){ ... } Prenons l’exemple des feux tricolores. Si le feu est rouge et qu’il n’y a pas de voiture sur la voie alors je traverse la rue. Exemple : EtLogique.java class EtLogique{ if ( feux == rouge && voiture == null ){ System.out.print(”Je traverse la rue”);} ... } DIABY Kalilou Cours Tutoriel JAVA
  65. 65. Outils de comparaisons 1 2 3 4 5 Le modulo ( % ) Le modulo consiste en programmation, `a un traitement d’une variable sur une autre variable en vue d’obtenir le reste de cette derni`ere. En d’autres terme, il consiste `a obtenir le reste de la division de la variable1 par la variable2. Sa syntaxe est: Type variable1, variable2, resultat; resultat = variable1 % variable2; Partons d’un exemple simple, pour celui ci. Nous chercherons a d´eterminer le reste de la division de 5 par 2 (5 modulo 2). DIABY Kalilou Cours Tutoriel JAVA
  66. 66. Outils de comparaisons Exemple : Modulo.java class Modulo{ int valeur1 = 5; int valeur2 = 2; int reste;// Par d´efaut, un entier(int) est initialise `a zero (0) reste = valeur1 % valeur2; System.out.println(”Le modulo de 5 par 2 est ”+reste);} } DIABY Kalilou Cours Tutoriel JAVA
  67. 67. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  68. 68. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  69. 69. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  70. 70. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  71. 71. Le JAVABEAN La norme JAVABEAN La norme JAVABEAN est un des principes les puissants, lorsque l’on est amener `a coder de mani`ere s´ecuris´e et propre.Elle consiste en cr´eer une classe sp´eciale .java qui contiendra notre bean. Une classe JAVABEAN se pr´esente comme suit : - Tous les champs sont d´eclar´es de types priv´ees - Un constructeur par d´efaut est initialis´e(est ajoute au code de notre classe javabean) - Des accesseurs (getters) et mutateurs (setters) y sont ajoutes - une S´erialisation des Objets peut ˆetre envisag´es DIABY Kalilou Cours Tutoriel JAVA
  72. 72. Le JAVABEAN 1 D´eclarations des attributs Tout attribut(variables ou champs) doit ˆetre d´eclar´es de type priv´ees. Pourquoi cela ? Cela ne permettra la manipulation de ces dits attributs que par les accesseurs et mutateurs commis `a chacune de ces variables. Exemple : JavaBean.java class JavaBean{ private String nom, prenom; private int age; private float taille; } DIABY Kalilou Cours Tutoriel JAVA
  73. 73. Le JAVABEAN 1 2 Constructeurs Un constructeur est une m´ethode qui porte le mˆeme nom que la classe, elle ne comporte pas de param`etres,ni d’arguments, ni de type de retour, et `a une port´ee de type public. Il est `a noter que toute classe Java poss`ede un constructeur par d´efaut, et ceux mˆeme s’il n’est pas ´ecrit dans notre code. Un constructeur `a notre classe bean se doit d’ˆetre cr´ees. Exemple : JavaBean.java class JavaBean{ public JavaBean(){ // On d´efinit ici ce que fera le constructeur( les actions qu’il devra ex´ecuter). } } DIABY Kalilou Cours Tutoriel JAVA
  74. 74. Le JAVABEAN 1 2 3 Accesseur On utilise des m´ethodes get pour pouvoir manipuler les diff´erents attributs d´eclar´es de type priv´es. Ces diff´erentes m´ethodes get ,appelle getters, permettent une manipulation plus s´ecuris´e des diff´erentes valeurs. Exemple : JavaBean.java class JavaBean{ private String nom, prenom; public String getNom(){ return nom;} } DIABY Kalilou Cours Tutoriel JAVA
  75. 75. Le JAVABEAN 1 2 3 4 Mutateur Idem comme pour le getters. Le mutateur est une m´ethode set permettant la manipulation des attributs d´eclar´es de type prives et qui se trouve dans notre classe java. Exemple : JavaBean.java class JavaBean{ private String nom, prenom; public void setNom(String nom){ this.nom = nom; } } DIABY Kalilou Cours Tutoriel JAVA
  76. 76. Le JAVABEAN NB: Ce principe de programmation respectant la norme JAVABEAN permet une meilleure s´ecurit´e et facilite la r´eutilisation des objets auxquels l’on `a affaire. DIABY Kalilou Cours Tutoriel JAVA
  77. 77. Classe Les Classes en JAVA 1 Classe Principale 2 Classe Simple( Non principale ) 3 Classe Abstraites DIABY Kalilou Cours Tutoriel JAVA
  78. 78. Classe Les Classes en JAVA 1 Classe Principale 2 Classe Simple( Non principale ) 3 Classe Abstraites DIABY Kalilou Cours Tutoriel JAVA
  79. 79. Classe Les Classes en JAVA 1 Classe Principale 2 Classe Simple( Non principale ) 3 Classe Abstraites DIABY Kalilou Cours Tutoriel JAVA
  80. 80. Classe Classe En POO, la notion de classe est un des ´el´ements les plus importants principe qui lui conf`erent le titre de langage de POO et le diff´erencie des langages de Programmation Proc´edurale. Il est de mise de mettre en CAPITAL (ou en Majuscule) la premi`ere lettre de chaque mot lorsqu’il s’agit de donner le nom d’une classe. Et par la suite tous les nouveaux mots qui la composent, la premi`ere lettre en CAPITALE. En JAVA, il existe des plusieurs types de classes. Toutefois, au sein d’un projet (ou application) plusieurs classes peuvent exister mais une seule classe main existe et est lanc´ee `a l’ex´ecution de notre projet. une classe se d´eclare comme suit: class NomDeLaClasse{ DIABY Kalilou Cours Tutoriel JAVA
  81. 81. Classe 1 Classe principale Une classe principale est une classe qui permet l’ex´ecution de notre application et elle est unique. Elle se d´eclare comme suit : Exemple : class ClassePrincicipale{ /* Les deux lignes qui suivent permettent de dire `a notre EDI qu’il s’agit de notre classe principale. */ public static void main(String [ ] args){ // Instruction de notre main } } DIABY Kalilou Cours Tutoriel JAVA
  82. 82. Classe 1 2 Classe Simple( Non principale ) Une classe est par d´efinition, un ensemble dans lequel se trouve les informations sp´ecifique `a notre traitement en POO. Elle se dit simple, si elle ne comporte pas de main. NB: Toutefois, attention `a ne pas g´en´eraliser trop vite. Sa forme g´en´erale est : class NomDeLaClasse{ ... } Prenons comme exemple, une classe contenant en son sein un attribut et une m´ethode. Exemple : Simple.java class Simple{ private String nom =”DIABY”; public void affiche(){ System.out.print(”Salut”);} } DIABY Kalilou Cours Tutoriel JAVA
  83. 83. Classe 1 2 3 Classe Abstraites Sachez tout simplement qu’elles existent. Nous n’en parlerons pas dans ce tutoriel. DIABY Kalilou Cours Tutoriel JAVA
  84. 84. Structures de contrˆoles Structures de contrˆoles : boucles 1 IF 2 FOR 3 DO WHILE 4 SWITCH DIABY Kalilou Cours Tutoriel JAVA
  85. 85. Structures de contrˆoles Structures de contrˆoles : boucles 1 IF 2 FOR 3 DO WHILE 4 SWITCH DIABY Kalilou Cours Tutoriel JAVA
  86. 86. Structures de contrˆoles Structures de contrˆoles : boucles 1 IF 2 FOR 3 DO WHILE 4 SWITCH DIABY Kalilou Cours Tutoriel JAVA
  87. 87. Structures de contrˆoles Structures de contrˆoles : boucles 1 IF 2 FOR 3 DO WHILE 4 SWITCH DIABY Kalilou Cours Tutoriel JAVA
  88. 88. Structures de contrˆoles Structures de contrˆoles : boucles Les structures de contrˆoles r´epondent `a une certaine logique auquel nous sommes confrontes tous les jours de notre vie. Cette logique, se trouve rapidement retranscrit dans le code. Vue ce fait, et aussi pour ne pas avoir vous embrouille on fera des exemples tr`es terrains c’est `a dire de la vie courante. Son principe est de faire un certain contrˆole puis d’en v´erifier sa v´eracit´e puis en fonction de la r´eponse obtenue d´eclenche une action(un ´ev´enement). DIABY Kalilou Cours Tutoriel JAVA
  89. 89. Structures de contrˆoles 1 IF F (ou Si ), est une structure de contrˆole `a laquelle nous sommes confrontes `a tout instant de notre vie. Cette structure de contrˆole `a pour but de tester qu’une seule fois l’instruction qui lui est soumise. Elle est de la forme : if (// argument) { ... } else { ... } Partons d’un exemple : S’il fait jour ou qu’il est 7 h 30 min, je bois du caf´e, sinon s’il est midi je mange du riz sinon s’il est 16 h je prendrais un goˆuter, sinon s’il fait soir je mangerais du l´eger, sinon(dans le cas ou aucune de ces 3 condition ne parvient `a ˆetre r´ealis´e ) je me contenterais d’un verre d’eau. DIABY Kalilou Cours Tutoriel JAVA
  90. 90. Structures de contrˆoles Exemple : StructureContole.java class StructureControle{ public static void main(String[ ] args) { String heure = ”jour”; // Vous pouvez vous amusez `a changez la valeur de l’heure. Remarquez, // il est de type String if (heure == ”jour”) { System.out.print(”Je bois du caf´e au lait”); } else if (heure == ”midi”) { System.out.print(”Je mangerai du riz”); } else if (heure == ”soir”) { System.out.print(”Je mangerai du l´eger”); } else { System.out.print(”Je bois de l’eau”); } } DIABY Kalilou Cours Tutoriel JAVA
  91. 91. Structures de contrˆoles 1 2 FOR For ( pour en fran¸cais), quand a elle s’utilise dans le cas d’ it´erations (suite d’´ev´enements). Cette structure de contrˆole `a pour but de tester l’instruction qui lui est soumise d’une valeur alpha(point de d´epart) `a une autre valeur bˆeta(valeur d’arrˆet). Elle est de la forme : for (int alpha, alpha < bˆeta; alpha ++) { ... } Prenons l’exemple des bonbons. Pour toute personne dont l’age est inf´erieure `a 18, on lui donne un bonbon. DIABY Kalilou Cours Tutoriel JAVA
  92. 92. Structures de contrˆoles Exemple : StructureControle.java public class StructureControle { public static void main(String[ ] args) { for (int agePersonne = 0; agePersonne < 18; agePersonne++) { System.out.print(”Vous aurez droit `a un bonbon”); } } } DIABY Kalilou Cours Tutoriel JAVA
  93. 93. Structures de contrˆoles 1 2 3 DO WHILE WHILE( tant que), pourrait ˆetre d´efinit comme s’utilisant pour v´erifier un ´etat bien sp´ecifique , devant ˆetre rempli. Sa syntaxe : while(//argument){...} DO WHILE, `a un comportement quasi similaire `a celui du while ; seul diff´erence, l’instruction sera ex´ecut´e au moins une fois. Sa syntaxe : do { ... } while(//argument) { ... } Cette structure de contrˆole, do while, `a pour but de lancer(ou d’ex´ecuter) l’instruction se trouvant dans le do, puis de tester celle se trouvant dans le while. Exemple : Tant que l’age de l’utilisateur est inf´erieur a 18 dites lui qu’il n’a pas acc`es `a ce service. Faire Salut , et apr`es on entre dans le while en v´erifiant que l’utilisateur est ˆages d’au moins 18 ans et on lui donnera acc`es dans le cas contraire on lui dira qu’il n’a pas acc`es a ce service. DIABY Kalilou Cours Tutoriel JAVA
  94. 94. Structures de contrˆoles Exemple : StructureControle.java import java.util.Scanner; public class StructureControle { public static void main(String[ ] args) { Scanner lecture = new Scanner(System.in); int age; do { System.out.println(”Salut, veuillez saisir votre ˆage”); age = lecture.nextInt(); } while (age >= 18); System.out.print(”Vous n’aviez pas acc`es `a ce service”); } } DIABY Kalilou Cours Tutoriel JAVA
  95. 95. Structures de contrˆoles 1 2 3 4 SWITCH Switch est la structure de contrˆole que j’adore car pour moi elle s’utilise dans les situations ou nous connaissions les cas de figures qui peuvent se pr´esenter `a l’avance. Elle devient plus pr´ecise, donc ´evite l’utilisation du IF qui se trouve ˆetre trop englobant (g´en´eraliste). Sa forme est : switch (//valeur ) { case value: //... break; default://... break;} Utilisons ici, le cas d’un programme qui demande `a un utilisateur de faire un choix entre diff´erentes cat´egories d’ages (mineur, adulte, vieillard) en fonction de son age et nous lui retournerons un DIABY Kalilou Cours Tutoriel JAVA
  96. 96. Structures de contrˆoles Exemple : StructureControle.java import java.util.Scanner; public class PPrincipale { public static void main(String[] args) { Scanner lecture = new Scanner(System.in); int age; System.out.println(”Veuillez faire votre choix : 1 pour mineur , 2 pour adulte, 3 pour vieillard”); age = lecture.nextInt(); switch (age) { case 1: System.out.print(”Vous ˆetes un mineur”); break; case 2: System.out.print(”Vous ˆetes un adulte”); break; case 3: System.out.print(”Vous ˆetes un vieillard”); break; default: System.out.print(”Vous ˆetes inconnu dans notre base”); break; } } } DIABY Kalilou Cours Tutoriel JAVA
  97. 97. Tableau Tableau 1 G´en´eralit´es 2 Tableau en JAVA DIABY Kalilou Cours Tutoriel JAVA
  98. 98. Tableau Tableau 1 G´en´eralit´es 2 Tableau en JAVA DIABY Kalilou Cours Tutoriel JAVA
  99. 99. Tableau 1 G´en´eralit´es Un tableau est un moyen de regrouper des ´el´ements dans un seul objet, puis de permettre d’effectuer des traitements sur ce dernier que sont la lecture, ´ecriture, ex´ecution d’op´erations. En Programmation, le tableau s’utilise dans le gain d’espace m´emoire, car toute conception d’ application se veut la plus ´economique possible en termes de m´emoires utilises. DIABY Kalilou Cours Tutoriel JAVA
  100. 100. Tableau 1 2 Tableau en JAVA 1 Tableau Primaire 2 Tableau `a une dimension 3 Tableau `a plusieurs dimensions 4 Tableau de type ArrayList DIABY Kalilou Cours Tutoriel JAVA
  101. 101. Tableau 1 2 Tableau en JAVA 1 Tableau Primaire 2 Tableau `a une dimension 3 Tableau `a plusieurs dimensions 4 Tableau de type ArrayList DIABY Kalilou Cours Tutoriel JAVA
  102. 102. Tableau 1 2 Tableau en JAVA 1 Tableau Primaire 2 Tableau `a une dimension 3 Tableau `a plusieurs dimensions 4 Tableau de type ArrayList DIABY Kalilou Cours Tutoriel JAVA
  103. 103. Tableau 1 2 Tableau en JAVA 1 Tableau Primaire 2 Tableau `a une dimension 3 Tableau `a plusieurs dimensions 4 Tableau de type ArrayList DIABY Kalilou Cours Tutoriel JAVA
  104. 104. Tableau En JAVA En JAVA, il s’utilise pour stocker des donnes sur un individus bien sp´ecifique. Prenons un individus qui est une personne, on pourrait avoir sur lui son nom, prenom, age, sexe; que nous stockerons dans un tableau de type String. DIABY Kalilou Cours Tutoriel JAVA
  105. 105. Tableau 1 Tableau Primaire Par tableau primaire, j’entends tableau de type primitifs. On distingue plusieurs types dont les tableau `a une dimension et les tableaux `a deux dimensions. DIABY Kalilou Cours Tutoriel JAVA
  106. 106. Tableau 1 2 Tableau `a une dimension Le tableau `a une dimension est un type de tableau ne pouvant prendre qu’une valeur par zone de m´emoire. Sa syntaxe est : Pour cr´eer un tableau d’entier : int tableau [] = {””,”””,... } Pour r´ecup´erer un ´el´ement de ce tableau : tableau[0] NB : En java et dans la plupart des langages de programmations, on commence par compter `a partir de zero (0). Faisant de 0 le premier ´el´ement. Reprenons l’exemple pr´ec´edent portant sur la personne poss´edant un nom, ... DIABY Kalilou Cours Tutoriel JAVA
  107. 107. Tableau Exemple : TableauUneDimension.java public class TableauUneDimension { public static void main(String[ ] args) { String[ ] personne = { ”DIABY”, ”Kalilou”, ”21”, ”Masculin” }; System.out.print(personne[0] + ” ” + personne[1] + ” ” + personne[2] + ” ans et de sexe ” + personne[3]);} } DIABY Kalilou Cours Tutoriel JAVA
  108. 108. Tableau 1 2 3 Tableau `a plusieurs dimensions Le tableau `a plusieurs dimensions fonctionnent de la mˆeme mani`ere que celui `a une dimension `a la seule diff´erence qu’il prend plus d’un ´el´ement sur une zone m´emoire. Partant de l’exemple pr´ec´edant si l’on ´etait amener `a identifier la personne se trouvant a une position donn´ee : cas d’une salle de classe ou autre salle bien dispos´ee. l’on serait amener `a cr´eer un deuxi`eme tableau; ce qui serait trop long et fatiguant. Pour y rem´edier l’on `a disposition le tableau `a plusieurs dimensions.Et dans ce cas pr´ecis, on peut cr´eer un tableau a 2 dimensions et qui aura en une seule zone tous les ´el´ements relatifs `a la position d’une personne. DIABY Kalilou Cours Tutoriel JAVA
  109. 109. Tableau Exemple : TableauDeuxDimensions.java public class TableauDeuxDimensions { public static void main(String[ ] args) { String[ ][ ] personnes = { { ”DIABY Kalilou”, ”Kone Paterson”, ”GOHORE BI Arsene”, ”IBO Landry” }, { ”KOUAME Dimitry”, ”AMICHIA Affiba”, ” FOLLY Vomua”, ”N’CHO Lo¨ıc ” } }; System.out.print(personnes[0][0]);} /* Ici il affichera la personne la ligne 0 (ligne 1) et la colonne 0 ( colonne 0), qui se trouve ˆetre DIABY Kalilou */ // Toutefois, amusez-vous a changer les diff´erentes valeurs } DIABY Kalilou Cours Tutoriel JAVA
  110. 110. Tableau 1 2 3 4 Tableau de type ArrayList Une ArrayList est un tableau list´es pour stocker et contenir un ensemble d’´el´ements sous forme de liste. Sa syntaxe est : ArrayList<Type Objet> nomArrayList = new ArrayList<Type Objet> DIABY Kalilou Cours Tutoriel JAVA
  111. 111. Tableau Exemple : ArrayList1.java import java.util.ArrayList; public class ArrayList1 { public static void main(String[ ] args) { ArrayList <String> list = new ArrayList<String>(); list.add(”DIABY”); // on ins`ere un nom `a l’index 0 list.add(”Kalilou”); list.add(2, ”Masculin”); /* Ici, le 2 est mis pour l’index; le forcant ainsi `a le mettre `a l’index 2. Sinon, l’on aurait Kalilou qui aurait ete `a la position 1 s’il avait ete declaree comme DIABY */ System.out.print(”L’enregistrement se trouvant `a la position 0 est ” + list.get(0) + ” et a la position 1 est : ” + list.get(1) + ” et a la position 2 est : ” + list.get(2)); } } DIABY Kalilou Cours Tutoriel JAVA
  112. 112. Exception 1 Exception pr´ed´efinies 2 Exception personnalis´ees DIABY Kalilou Cours Tutoriel JAVA
  113. 113. Exception 1 Exception pr´ed´efinies 2 Exception personnalis´ees DIABY Kalilou Cours Tutoriel JAVA
  114. 114. Exception 1 Exception pr´ed´efinies 1 TRY 2 CATCH 3 FINALY DIABY Kalilou Cours Tutoriel JAVA
  115. 115. Exception 1 Exception pr´ed´efinies 1 TRY 2 CATCH 3 FINALY DIABY Kalilou Cours Tutoriel JAVA
  116. 116. Exception 1 Exception pr´ed´efinies 1 TRY 2 CATCH 3 FINALY DIABY Kalilou Cours Tutoriel JAVA
  117. 117. Exception Exception pr´ed´efinies En POO, ou en Programmation Proc´edurale (PP), la gestion des erreurs est un crit`ere n´ecessaire de bon codage. Par ce principe, l’on est capable d’intercepter d’´eventuelles erreurs qui pourrait surgir pendant l’utilisation de notre application par l’utilisateur ou des erreurs autres. Pour ce faire, on utilise des instructions que sont : try, catch(), finally. DIABY Kalilou Cours Tutoriel JAVA
  118. 118. Exception 1 L’instruction TRY L’instruction try est celle qui nous permettra d’ex´ecuter notre bout de code susceptible de g´en´er´e d’´eventuelles erreurs. Exemples : Exception.java class Exception{ public static void main(String [ ] args){ private int valeur1, valeur2; private float resultat; try{ resultat = valeur1 / valeur2; } } DIABY Kalilou Cours Tutoriel JAVA
  119. 119. Exception 1 2 L’instruction CATCH L’instruction Catch est celle charg´ee de g´erer l’erreur qui est g´en´erer par notre application.Elle capte ce message et en renvoie un autre beaucoup plus simple et facile de compr´ehension par le client. DIABY Kalilou Cours Tutoriel JAVA
  120. 120. Exception Exemples : Exception.java class Exception{ public static void main(String [] args){ private int valeur1, valeur2; private float reultat; try{ resultat = valeur1 / valeur2; } catch(Exception une exception arithmetique sera genere){ System.out.print(”Erreur !”); } } } } DIABY Kalilou Cours Tutoriel JAVA
  121. 121. Exception 1 2 3 L’instruction FINALLY L’instruction finally permet l’ex´ecution de la commande de mani`ere obligatoire, c’est `a dire apr`es ex´ecution des du try et du catch. Cette instruction s’utilise g´en´eralement avec une base de donn´ees (nous emploierons dans la suite de ce tutoriel tr`es souvent le terme database en remplacement de base de donn´ees), afin de d´econnecter notre database, dans le cas o`u elle ne r´eussit pas a ˆetre d´econnecte dans le try et le catch. DIABY Kalilou Cours Tutoriel JAVA
  122. 122. Exception Exemple : Exception.java class Exception { public static void main(String [ ] args){ private int valeur1, valeur2; private float reultat; try{ resultat = valeur1 / valeur2; } catch(Exception une exception arithmetique sera genere ){ System.out.print(”Erreur !”);} finally { System.out.println(”Ex´ecution des instructions se trouvant dans le finally”);} } } DIABY Kalilou Cours Tutoriel JAVA
  123. 123. Exception 1 Exception personnalis´ee 1 L’instruction THROW 2 L’instruction THROWS DIABY Kalilou Cours Tutoriel JAVA
  124. 124. Exception 1 Exception personnalis´ee 1 L’instruction THROW 2 L’instruction THROWS DIABY Kalilou Cours Tutoriel JAVA
  125. 125. Exception Exception personnalis´ees Une exception personnalise s’utilise g´en´eralement lorsque l’on souhaite g´en´erer soit soit mˆeme ces exceptions ; il s’av`ere ˆetre nul lorsque l’exception que l’on souhaite cr´eer existe d´ej`a. Pour ce faire, on utilise le mot cl´e throw et throws. Pour ce faire, on cr´ee une nouvelle m´ethode dans laquelle on d´efinit nos diff´erentes exceptions. DIABY Kalilou Cours Tutoriel JAVA
  126. 126. Exception 1 L’instruction THROW Le mot clef throw permet de g´erer manuellement une exception. Cela se fait grˆace `a la cr´eation de nouvel objet du type de l’exception que nous venons de cr´eer nous mˆeme. Allez comprendre, que nous densifierons les diff´erentes erreurs possibles et capables de survenir, et aussi ce qu’il en devra r´esulter une fois que ce cas se pr´esentera. Sa syntaxe est : throw new Exception Partons ici d’un exemple tout simple qui consistera `a nous afficher tout simplement un message qu’est : Erreur ! exception personnalis´e. DIABY Kalilou Cours Tutoriel JAVA
  127. 127. Exception Exemple : ExceptionPersonnalise.java public class ExceptionPersonnalise extends Exception{ @Override public String getMessage() { System.out.println(”Erreur ! exception personnalis´e ”); return super.getMessage(); } } - PPrincipale1.java public class PPrincipale { public static void main(String[] args) { try { throw new ExceptionPersonnalise(); } catch (Exception e) { e.printStackTrace(); } } } 1 P pour programme DIABY Kalilou Cours Tutoriel JAVA
  128. 128. Exception 1 2 L’instruction THROWS Le mot clef throws permet d’indiquer `a notre JVM que cette m´ethode est susceptible de d´eclencher une erreur. Sa syntaxe est : Methode throws ClasseExceptionCreerParUtilisateur { ... } DIABY Kalilou Cours Tutoriel JAVA
  129. 129. H´eritage 1 G´en´eralit´e 2 H´eritage selon JAVA DIABY Kalilou Cours Tutoriel JAVA
  130. 130. H´eritage 1 G´en´eralit´e 2 H´eritage selon JAVA DIABY Kalilou Cours Tutoriel JAVA
  131. 131. H´eritage 1 G´en´eralit´e L’h´eritage est une technique de la POO qui permet `a une classe fille d’h´eriter de tous les attributs et m´ethodes de la classe m`ere(de base). On utilise pour cela le mot clef extends. L’h´eritage permet de ce fait un gain en temps de travail et de calcul, et en m´emoire puisque l’on aura qu’`a h´eriter d’une classe et automatiquement poss´eder de toutes ses fonctionnalit´es. De plus, on peut en rajouter de nouvelles que ce soit bien des m´ethodes au sein de cette classe fille, ou les red´efinir ou les surcharger. DIABY Kalilou Cours Tutoriel JAVA
  132. 132. H´eritage 1 2 H´eritage selon JAVA En JAVA, la question d’h´eritage peut s’´etendre jusqu’`a celle de l’impl´ementation. De ce fait, une classe Java peut h´eriter d’une et unique classe Java, mais peut toutefois impl´ementer plusieurs Interfaces. Pour qu’une classe h´erite d’une autre classe on utilise le mot clef extends et pour qu’elle puisse impl´ementer une interface on utilise le mot clef implements. DIABY Kalilou Cours Tutoriel JAVA
  133. 133. H´eritage Exemple : Heritage.java class Heritage extends JavaBean implements Interface1, ActionListener{ // instruction et code de notre classe Heritage // Action Listener est un ´ecouteur d’action. // Nous y reviendrons plus tard } DIABY Kalilou Cours Tutoriel JAVA
  134. 134. Design Pattern 1 G´en´eralit´es 2 M-V-C DIABY Kalilou Cours Tutoriel JAVA
  135. 135. Design Pattern 1 G´en´eralit´es 2 M-V-C DIABY Kalilou Cours Tutoriel JAVA
  136. 136. Design Pattern 1 G´en´eralit´es Le design pattern est une architecture destine en g´en´erale vers des projets de grande envergure. Toutefois, Il est applicable `a tout type de projet. Le design pattern n’est pas une affaire de JAVA pour ne pas dire POO, elle s’applique aussi aux langages du WEB tels que PHP, Ruby, ... Dans notre tutoriel, nous parlerons du M-V-C. Cependant, il est `a noter qu’il existe le M-V-C 2. Pour plus d’informations se r´ef´erer `a Internet. DIABY Kalilou Cours Tutoriel JAVA
  137. 137. Design Pattern 1 M-V-C : Mod`ele Vue Contrˆoleur 1 Mod`ele 2 Vue 3 Contrˆoleur 4 M-V-C 2 DIABY Kalilou Cours Tutoriel JAVA
  138. 138. Design Pattern 1 M-V-C : Mod`ele Vue Contrˆoleur 1 Mod`ele 2 Vue 3 Contrˆoleur 4 M-V-C 2 DIABY Kalilou Cours Tutoriel JAVA
  139. 139. Design Pattern 1 M-V-C : Mod`ele Vue Contrˆoleur 1 Mod`ele 2 Vue 3 Contrˆoleur 4 M-V-C 2 DIABY Kalilou Cours Tutoriel JAVA
  140. 140. Design Pattern 1 M-V-C : Mod`ele Vue Contrˆoleur 1 Mod`ele 2 Vue 3 Contrˆoleur 4 M-V-C 2 DIABY Kalilou Cours Tutoriel JAVA
  141. 141. Design Pattern 1 2 M-V-C : Mod`ele Vue Contrˆoleur Dans ce type d’architecture, la vue correspond `a l’ IHM:Interface Homme Machine, pour le client (l’utilisateur final). Le contrˆoleur, tout en respectant notre sch´ema, est notre classe beans qui est charge d’effectuer d’ ´eventuelles modifications et actions sur nos diff´erents champs ; elle contrˆole le mod`ele. Le mod`ele, ici repr´esente les diff´erentes classes a partir desquels le bean sera utilise ; c’est `a dire la classe qui utilisera le bean afin d’acc´eder `a ses diff´erents champs et m´ethodes DIABY Kalilou Cours Tutoriel JAVA
  142. 142. Design Pattern 1 Mod`ele Le mod`ele est en g´en´eral l’´el´ement qui permettra de d´efinir tous les objets que nous auront `a manipuler dans notre application structure en M-V-C. C’est en g´en´erale une classe en JAVA. Comme additif, dans les applications Java Entreprise Edition (JEE), c’est notre classe JAVABEAN. DIABY Kalilou Cours Tutoriel JAVA
  143. 143. Design Pattern 1 Vue La vue est et repr´esente notre Interface Homme Machine (IHM). Pour ce qui est de JAVA, cette partie se g`ere grˆace au graphisme en utilisant le JAVA SWING, AWT, qui se trouve aujourd’hui obsol`ete du fait que assez de framework existe et permettent de cr´eer cette vue tout en se chargeant de g´en´erer le code qui y va avec. Pour ce faire, on dispose d’outils tels que Netbeans, JDeveloppers, ... Dans le cadre d’une application web JEE, la vue peut ˆetre repr´esente par une Java Server Pages (JSP). NB : Une JSP est une page HTML capable de contenir du code JAVA. DIABY Kalilou Cours Tutoriel JAVA
  144. 144. Design Pattern 1 Contrˆoleur Le contrˆoleur est la classe a partir de laquelle tous nos traitements seront effectues. Le contrˆoleur agit sur le mod`ele en avisant `a tout moment la vue, permettant une gestion plus simple, s´ecuris´e et structure de notre programme. Dans le cadre d’une application web JEE, elle repr´esente les servlet qui effectuerons les diff´erents traitements, tout en informant notre JSP. NB : Une servlet est classe JAVA qui h´erite de classe HttpServlet, au travers de laquelle existe des m´ethodes doPost et doGet permettant une interaction avec la (ou les) JSP. DIABY Kalilou Cours Tutoriel JAVA
  145. 145. Design Pattern Exemple de Servlet public class NewServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return ”Short description”; } } DIABY Kalilou Cours Tutoriel JAVA
  146. 146. Design Pattern 1 2 3 4 M-V-C 2 Ce design pattern, M-V-C 2, ne poss`ede qu’une seule classe appelle Front Control, qui va d´el´eguer certains traitements sp´ecifique `a d’autres classes, qu’on appelle les classes de Command. DIABY Kalilou Cours Tutoriel JAVA
  147. 147. Les Bases de donn´ees 1 G´en´eralit´es 2 Java Database Connectivity DIABY Kalilou Cours Tutoriel JAVA
  148. 148. Les Bases de donn´ees 1 G´en´eralit´es 2 Java Database Connectivity DIABY Kalilou Cours Tutoriel JAVA
  149. 149. Les Bases de donn´ees G´en´eralit´es De nos jours, toute bon application se doit de conserver l’historique des taches effectues par l’utilisateur. Ceux ci, dans le but de lui offrir un certain confort de par son utilisation(soft2 ) tout en lui donnant l’envie de se reconnecter `a votre application. Dans le but de palier `a ce probl`eme, l’on a recours `a une base de donn´ees qui sert de stockage `a nos diff´erentes donn´ees que sont : - Informations personnelles utilisateurs - Informations et sauvegarde du log utilisateur et machine - etc, ... Cette base de donn´ee se g`ere grˆace `a ce que l’on nomme un Syst`eme Gestion de Base de Donn´ee Relationnel (SGBD 3 ). Il en existe aujourd’hui plusieurs types dont le SGBDR (R pour Relationnel) qui nous int´eresse dans ce tutoriel. 2 Logiciel 3 Un logiciel de Gestion de Base de Donn´ees DIABY Kalilou Cours Tutoriel JAVA
  150. 150. Les Bases de donn´ees Ce tutoriel n’´etant ax´e sur la base de donn´ee, nous nous limiterons `a ce qui `a ´et´e dit, et pour plus de complement r´ef´erer a internet de bons documents s’y trouvent. La connexion a une base de donnes est devenue aujourd’hui, une tache que peut effectuer tout programmeur. Cette connexion se trouve simplifie de nos jours, vue la multitude de langages de programmations et de SGBD dont nous disposons. DIABY Kalilou Cours Tutoriel JAVA
  151. 151. Java Database Connectivity Java Database Connectivity : Connexion avec les bases de donn´ees La connexion `a une base de donn´ees en JAVA, ce fait via un certain nombre d’outils que sont un driver 4, de m´ethodes de pr´eparations `a la connexion, de quelques requˆetes SQL ou NOSQL. 4 Un pilote qui `a pour but de permettre l’acc`es d’un ou des services `a un un autre service qui l’installe. DIABY Kalilou Cours Tutoriel JAVA
  152. 152. Java Database Connectivity 1 T´el´echargements et installation du driver 2 M´ethodes de connexions ‘a une base de donnes DIABY Kalilou Cours Tutoriel JAVA
  153. 153. Java Database Connectivity 1 T´el´echargements et installation du driver 2 M´ethodes de connexions ‘a une base de donnes DIABY Kalilou Cours Tutoriel JAVA
  154. 154. Java Database Connectivity 1 T´el´echargements et installation du driver 1 T´el´echargements 2 Installation du driver DIABY Kalilou Cours Tutoriel JAVA
  155. 155. Java Database Connectivity 1 T´el´echargements et installation du driver 1 T´el´echargements 2 Installation du driver DIABY Kalilou Cours Tutoriel JAVA
  156. 156. Java Database Connectivity T´el´echargements et installation du driver Pour ce faire, il nous faut utiliser un driver. Comment y proc`ede-t-on? DIABY Kalilou Cours Tutoriel JAVA
  157. 157. Java Database Connectivity 1 T´el´echargements Pour le t´el´echargement du driver, il est `a noter que bon nombre de SGBD nous est offert. Toutefois, pas de panique, car le choix du SGBD est fonction de l’utilisation de notre base de donn´ees, du public cible vers qui elle est orient´ee et aussi de nos moyens. Pour notre tutoriel, nous utiliserons MySQL. Sans tarder, t´el´echargeons le pilote n´ecessaire `a cela en vue d’effectuer la connexion. Dans notre cas, le driver `a chercher est: mysql-connector-java5 Lien de t´el´echargements : Personnellement, moi j’ai le mysql-connector-java-5.1.32 NB : Je vous conseillerai de vous r´ef´erer `a Google en vue de trouver la version la plus r´ecente de votre driver 5 Je l’ai fait expr`es d’enlever la version afin que vous puissiez r´ecup´erez la derni`ere version du driver souhait´ee DIABY Kalilou Cours Tutoriel JAVA
  158. 158. Java Database Connectivity 1 2 Installation driver : MySQL Pour l’installation, sachez tout simplement une chose; ce n’en est pas une. Car, il nous suffit juste de charger la librairie de ce driver dans notre EDI6 et l’int´egrer `a notre projet. Cela je pense que vous serez `a mesure de le faire. 6 Integrate Developement Environnement DIABY Kalilou Cours Tutoriel JAVA
  159. 159. Java Database Connectivity 1 2 M´ethodes de connexions `a une base de donn´ees 1 Etablissement de la connexion 2 Erreur `a ne jamais commettre avec les bases de donn´ees 3 M´ethodes de connexions DIABY Kalilou Cours Tutoriel JAVA
  160. 160. Java Database Connectivity 1 2 M´ethodes de connexions `a une base de donn´ees 1 Etablissement de la connexion 2 Erreur `a ne jamais commettre avec les bases de donn´ees 3 M´ethodes de connexions DIABY Kalilou Cours Tutoriel JAVA
  161. 161. Java Database Connectivity 1 2 M´ethodes de connexions `a une base de donn´ees 1 Etablissement de la connexion 2 Erreur `a ne jamais commettre avec les bases de donn´ees 3 M´ethodes de connexions DIABY Kalilou Cours Tutoriel JAVA
  162. 162. Java Database Connectivity Java Database Connectivity Nous voici enfin arrive `a l’instant de v´erit´e, celle de la connexion et des traitements (requˆetes) a effectuer. Avant tout sachez que tous les traitements que nous ferons ne seront possible que par la librairie java.sql.*; qui se trouve inclus dans JAVA. DIABY Kalilou Cours Tutoriel JAVA
  163. 163. Java Database Connectivity 1 Etablissement de la connexion Cr´eons `a pr´esent un nouvel objet pour la connexion `a notre base de donn´ees. Pour cela, nous utiliserons l’objet Connection. La syntaxe serait : Connection ObjetDeConnection; DIABY Kalilou Cours Tutoriel JAVA
  164. 164. Java Database Connectivity 1 2 Erreur `a ne jamais commettre avec les base de donn´ees Dans bon nombre de cas, les bases de donnes servent `a stocker les informations sensibles sur des personnes (morales et physiques). D’un tel point de vue, il est d´econseill´e de laisser une connexion `a la base donnes ouverte trop longtemps afin de r´eduire le hacking7 de nos data. Pour cela, nous aurons recours au try, catch et finally8. Dans ce cas, il n’y aura pas d’exemple pr´ecis car d’un point de vue personnelle le JDBC s’utilise beaucoup avec le JEE9, et ceux mˆeme s’il existe dans les JSE10. 7 Piratage de nos donn´ees 8 Vous comprendrez `a ce niveau l’importance de ce finally 9 Java Entreprise Edition 10 Java Standard Edition DIABY Kalilou Cours Tutoriel JAVA
  165. 165. Java Database Connectivity 1 2 3 M´ethodes de connexions La connexion s’´etablit grˆace a la m´ethode Class.forName() du moins si l’on se base sur la norme 1.0 du JDBC. DIABY Kalilou Cours Tutoriel JAVA

×