SlideShare una empresa de Scribd logo
1 de 165
Descargar para leer sin conexión
Cours Tutoriel JAVA
DIABY Kalilou
23 F´evrier 2015
DIABY Kalilou Cours Tutoriel JAVA
”Le bonheur c’est lorsque nos actes sont en conformit´es avec nos
pens´ees ”: Gandhi
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
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
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
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
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
Premiers pas
Exemple :
DIABY Kalilou Cours Tutoriel JAVA
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
Outils de la POO en JAVA
Les types Objets et Primitifs
1 Les types primitifs
2 Les types Objets
DIABY Kalilou Cours Tutoriel JAVA
Outils de la POO en JAVA
Les types Objets et Primitifs
1 Les types primitifs
2 Les types Objets
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
Quelques mots clefs
Quelques mots clefs
1 this
2 super
3 null
DIABY Kalilou Cours Tutoriel JAVA
Quelques mots clefs
Quelques mots clefs
1 this
2 super
3 null
DIABY Kalilou Cours Tutoriel JAVA
Quelques mots clefs
Quelques mots clefs
1 this
2 super
3 null
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
Les m´ethodes en POO JAVA
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
Interaction utilisateur
Interaction utilisateur
1 G´en´eralit´es
2 M´ethode de saisie utilisateur
DIABY Kalilou Cours Tutoriel JAVA
Interaction utilisateur
Interaction utilisateur
1 G´en´eralit´es
2 M´ethode de saisie utilisateur
DIABY Kalilou Cours Tutoriel JAVA
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
Interaction utilisateur
M´ethode de saisie utilisateur
1 Scanner
2 Autres m´ethodes
DIABY Kalilou Cours Tutoriel JAVA
Interaction utilisateur
M´ethode de saisie utilisateur
1 Scanner
2 Autres m´ethodes
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Le JAVABEAN
La norme JAVABEAN
1 D´eclarations des attributs
2 Constructeurs
3 Accesseur
4 Mutateur
DIABY Kalilou Cours Tutoriel JAVA
Le JAVABEAN
La norme JAVABEAN
1 D´eclarations des attributs
2 Constructeurs
3 Accesseur
4 Mutateur
DIABY Kalilou Cours Tutoriel JAVA
Le JAVABEAN
La norme JAVABEAN
1 D´eclarations des attributs
2 Constructeurs
3 Accesseur
4 Mutateur
DIABY Kalilou Cours Tutoriel JAVA
Le JAVABEAN
La norme JAVABEAN
1 D´eclarations des attributs
2 Constructeurs
3 Accesseur
4 Mutateur
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
Classe
Les Classes en JAVA
1 Classe Principale
2 Classe Simple( Non principale )
3 Classe Abstraites
DIABY Kalilou Cours Tutoriel JAVA
Classe
Les Classes en JAVA
1 Classe Principale
2 Classe Simple( Non principale )
3 Classe Abstraites
DIABY Kalilou Cours Tutoriel JAVA
Classe
Les Classes en JAVA
1 Classe Principale
2 Classe Simple( Non principale )
3 Classe Abstraites
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
Structures de contrˆoles
Structures de contrˆoles : boucles
1 IF
2 FOR
3 DO WHILE
4 SWITCH
DIABY Kalilou Cours Tutoriel JAVA
Structures de contrˆoles
Structures de contrˆoles : boucles
1 IF
2 FOR
3 DO WHILE
4 SWITCH
DIABY Kalilou Cours Tutoriel JAVA
Structures de contrˆoles
Structures de contrˆoles : boucles
1 IF
2 FOR
3 DO WHILE
4 SWITCH
DIABY Kalilou Cours Tutoriel JAVA
Structures de contrˆoles
Structures de contrˆoles : boucles
1 IF
2 FOR
3 DO WHILE
4 SWITCH
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
Tableau
Tableau
1 G´en´eralit´es
2 Tableau en JAVA
DIABY Kalilou Cours Tutoriel JAVA
Tableau
Tableau
1 G´en´eralit´es
2 Tableau en JAVA
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
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
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
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
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
Exception
1 Exception pr´ed´efinies
2 Exception personnalis´ees
DIABY Kalilou Cours Tutoriel JAVA
Exception
1 Exception pr´ed´efinies
2 Exception personnalis´ees
DIABY Kalilou Cours Tutoriel JAVA
Exception
1 Exception pr´ed´efinies
1 TRY
2 CATCH
3 FINALY
DIABY Kalilou Cours Tutoriel JAVA
Exception
1 Exception pr´ed´efinies
1 TRY
2 CATCH
3 FINALY
DIABY Kalilou Cours Tutoriel JAVA
Exception
1 Exception pr´ed´efinies
1 TRY
2 CATCH
3 FINALY
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
Exception
1 Exception personnalis´ee
1 L’instruction THROW
2 L’instruction THROWS
DIABY Kalilou Cours Tutoriel JAVA
Exception
1 Exception personnalis´ee
1 L’instruction THROW
2 L’instruction THROWS
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
H´eritage
1 G´en´eralit´e
2 H´eritage selon JAVA
DIABY Kalilou Cours Tutoriel JAVA
H´eritage
1 G´en´eralit´e
2 H´eritage selon JAVA
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
Design Pattern
1 G´en´eralit´es
2 M-V-C
DIABY Kalilou Cours Tutoriel JAVA
Design Pattern
1 G´en´eralit´es
2 M-V-C
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
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
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
Les Bases de donn´ees
1 G´en´eralit´es
2 Java Database Connectivity
DIABY Kalilou Cours Tutoriel JAVA
Les Bases de donn´ees
1 G´en´eralit´es
2 Java Database Connectivity
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
Java Database Connectivity
1 T´el´echargements et installation du driver
1 T´el´echargements
2 Installation du driver
DIABY Kalilou Cours Tutoriel JAVA
Java Database Connectivity
1 T´el´echargements et installation du driver
1 T´el´echargements
2 Installation du driver
DIABY Kalilou Cours Tutoriel JAVA
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
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
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
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
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
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)SmartnSkilled
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Alphorm.com Formation PowerShell : Niveau Perfectionnement
Alphorm.com Formation PowerShell : Niveau PerfectionnementAlphorm.com Formation PowerShell : Niveau Perfectionnement
Alphorm.com Formation PowerShell : Niveau PerfectionnementAlphorm
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)G²FOSS ENIT
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyGuillaume Laforge
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimLaurent Broudoux
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileIppon
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeformationobjetdirect
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Ippon
 
Alphorm.com Formation PowerShell : Niveau Avancé
Alphorm.com Formation PowerShell : Niveau AvancéAlphorm.com Formation PowerShell : Niveau Avancé
Alphorm.com Formation PowerShell : Niveau AvancéAlphorm
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computingIppon
 
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014Ippon
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGIAntoine Sabot-Durand
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 

La actualidad más candente (20)

Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Alphorm.com Formation PowerShell : Niveau Perfectionnement
Alphorm.com Formation PowerShell : Niveau PerfectionnementAlphorm.com Formation PowerShell : Niveau Perfectionnement
Alphorm.com Formation PowerShell : Niveau Perfectionnement
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
 
Alphorm.com Formation PowerShell : Niveau Avancé
Alphorm.com Formation PowerShell : Niveau AvancéAlphorm.com Formation PowerShell : Niveau Avancé
Alphorm.com Formation PowerShell : Niveau Avancé
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computing
 
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
Web API & Cache, the HTTP way - Ippevent 10 Juin 2014
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGI
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 

Destacado

Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...Santé des trans
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsSun Technlogies
 
Les Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerryLes Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerrytunisieblackberry
 
Système de gestion de tickets
Système de gestion de ticketsSystème de gestion de tickets
Système de gestion de ticketsraymen87
 
Cascading Style Sheets - CSS
Cascading Style Sheets - CSSCascading Style Sheets - CSS
Cascading Style Sheets - CSSSun Technlogies
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshellLennart Schoors
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...Hajer Dahech
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS PresentationShawn Calvert
 

Destacado (13)

Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts Basics
 
Les Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerryLes Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerry
 
Jsp
JspJsp
Jsp
 
Arşivlik Fotoğraflar
Arşivlik FotoğraflarArşivlik Fotoğraflar
Arşivlik Fotoğraflar
 
Système de gestion de tickets
Système de gestion de ticketsSystème de gestion de tickets
Système de gestion de tickets
 
Cascading Style Sheets - CSS
Cascading Style Sheets - CSSCascading Style Sheets - CSS
Cascading Style Sheets - CSS
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3
 
Html Ppt
Html PptHtml Ppt
Html Ppt
 
HTML CSS Basics
HTML CSS BasicsHTML CSS Basics
HTML CSS Basics
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS Presentation
 

Similar a Tutoriel java

Certification java oracle java se 7 programmer
Certification java oracle   java se 7 programmerCertification java oracle   java se 7 programmer
Certification java oracle java se 7 programmerEGILIA Learning
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchTarek Halloul
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemeStéphane Traumat
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Jean-Pierre Lambert
 
OBJIS Congo présente 10 reperes cle du developpeur java
OBJIS Congo présente 10 reperes cle du developpeur javaOBJIS Congo présente 10 reperes cle du developpeur java
OBJIS Congo présente 10 reperes cle du developpeur javaDouglas MBIANDOU
 
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...JUSTINDAVONDAMBAT
 
Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010François Wauquier
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilNormandy JUG
 
Exemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labviewExemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labviewLuc Desruelle
 
Exemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labviewExemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labviewLuc Desruelle
 
Exemple code oop_labview
Exemple code oop_labviewExemple code oop_labview
Exemple code oop_labviewLuc Desruelle
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 

Similar a Tutoriel java (20)

Certification java oca
Certification java ocaCertification java oca
Certification java oca
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
Certification java oracle java se 7 programmer
Certification java oracle   java se 7 programmerCertification java oracle   java se 7 programmer
Certification java oracle java se 7 programmer
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design patterns
Design patternsDesign patterns
Design patterns
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
 
OBJIS Congo présente 10 reperes cle du developpeur java
OBJIS Congo présente 10 reperes cle du developpeur javaOBJIS Congo présente 10 reperes cle du developpeur java
OBJIS Congo présente 10 reperes cle du developpeur java
 
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
 
Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010Domain Driven Design - Agile France 2010
Domain Driven Design - Agile France 2010
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Exemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labviewExemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labview
 
Exemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labviewExemple de-code-oop-avec-labview
Exemple de-code-oop-avec-labview
 
Exemple code oop_labview
Exemple code oop_labviewExemple code oop_labview
Exemple code oop_labview
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
python
pythonpython
python
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 

Tutoriel java

  • 1. Cours Tutoriel JAVA DIABY Kalilou 23 F´evrier 2015 DIABY Kalilou Cours Tutoriel JAVA
  • 2. ”Le bonheur c’est lorsque nos actes sont en conformit´es avec nos pens´ees ”: Gandhi DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Premiers pas Exemple : DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Quelques mots clefs Quelques mots clefs 1 this 2 super 3 null DIABY Kalilou Cours Tutoriel JAVA
  • 28. Quelques mots clefs Quelques mots clefs 1 this 2 super 3 null DIABY Kalilou Cours Tutoriel JAVA
  • 29. Quelques mots clefs Quelques mots clefs 1 this 2 super 3 null DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Les m´ethodes en POO JAVA DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. Interaction utilisateur Interaction utilisateur 1 G´en´eralit´es 2 M´ethode de saisie utilisateur DIABY Kalilou Cours Tutoriel JAVA
  • 48. Interaction utilisateur Interaction utilisateur 1 G´en´eralit´es 2 M´ethode de saisie utilisateur DIABY Kalilou Cours Tutoriel JAVA
  • 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. Interaction utilisateur M´ethode de saisie utilisateur 1 Scanner 2 Autres m´ethodes DIABY Kalilou Cours Tutoriel JAVA
  • 51. Interaction utilisateur M´ethode de saisie utilisateur 1 Scanner 2 Autres m´ethodes DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  • 68. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  • 69. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  • 70. Le JAVABEAN La norme JAVABEAN 1 D´eclarations des attributs 2 Constructeurs 3 Accesseur 4 Mutateur DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. Classe Les Classes en JAVA 1 Classe Principale 2 Classe Simple( Non principale ) 3 Classe Abstraites DIABY Kalilou Cours Tutoriel JAVA
  • 78. Classe Les Classes en JAVA 1 Classe Principale 2 Classe Simple( Non principale ) 3 Classe Abstraites DIABY Kalilou Cours Tutoriel JAVA
  • 79. Classe Les Classes en JAVA 1 Classe Principale 2 Classe Simple( Non principale ) 3 Classe Abstraites DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. Structures de contrˆoles Structures de contrˆoles : boucles 1 IF 2 FOR 3 DO WHILE 4 SWITCH DIABY Kalilou Cours Tutoriel JAVA
  • 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. Structures de contrˆoles Structures de contrˆoles : boucles 1 IF 2 FOR 3 DO WHILE 4 SWITCH DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Tableau Tableau 1 G´en´eralit´es 2 Tableau en JAVA DIABY Kalilou Cours Tutoriel JAVA
  • 98. Tableau Tableau 1 G´en´eralit´es 2 Tableau en JAVA DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Exception 1 Exception pr´ed´efinies 2 Exception personnalis´ees DIABY Kalilou Cours Tutoriel JAVA
  • 113. Exception 1 Exception pr´ed´efinies 2 Exception personnalis´ees DIABY Kalilou Cours Tutoriel JAVA
  • 114. Exception 1 Exception pr´ed´efinies 1 TRY 2 CATCH 3 FINALY DIABY Kalilou Cours Tutoriel JAVA
  • 115. Exception 1 Exception pr´ed´efinies 1 TRY 2 CATCH 3 FINALY DIABY Kalilou Cours Tutoriel JAVA
  • 116. Exception 1 Exception pr´ed´efinies 1 TRY 2 CATCH 3 FINALY DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. Exception 1 Exception personnalis´ee 1 L’instruction THROW 2 L’instruction THROWS DIABY Kalilou Cours Tutoriel JAVA
  • 124. Exception 1 Exception personnalis´ee 1 L’instruction THROW 2 L’instruction THROWS DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. H´eritage 1 G´en´eralit´e 2 H´eritage selon JAVA DIABY Kalilou Cours Tutoriel JAVA
  • 130. H´eritage 1 G´en´eralit´e 2 H´eritage selon JAVA DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. Design Pattern 1 G´en´eralit´es 2 M-V-C DIABY Kalilou Cours Tutoriel JAVA
  • 135. Design Pattern 1 G´en´eralit´es 2 M-V-C DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Les Bases de donn´ees 1 G´en´eralit´es 2 Java Database Connectivity DIABY Kalilou Cours Tutoriel JAVA
  • 148. Les Bases de donn´ees 1 G´en´eralit´es 2 Java Database Connectivity DIABY Kalilou Cours Tutoriel JAVA
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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