Vous êtes sur la page 1sur 30

Introduction au langage JAVA

Liens commerciaux : Apparu en 1991, le langage JAVA a commenc tre intressant partir de 1995 avec sa prise en charge par le navigateur phare de l'poque, Netscape. Ce langage ne cesse de se dvelopper. Il s'agit d'un langage orient objet dont la syntaxe est trs proche de celle du C++. C'est galement un langage portable, c'est dire qu'il s'adapte une foule de plate-formes diffrentes. C'est l l'une des qualits de JAVA (qualit qui entrane un dfaut dont nous allons parler juste aprs). Grce une machine virtuelle, JAVA peut s'excuter sur une quantit incroyable de plateformes. Le rle de la machine JAVA est simple : lorsque vous installez la machine virtuelle JAVA, elle permet d'excuter sur l'architecture de l'ordinateur courant des instructions. Une machine virtuelle JAVA pour MAC et pour PC est totalement diffrente mais fera la mme chose au final (du point de vue utilisateur).Le programme JAVA restera donc identique, d'o la trs bonne portabilit de ce langage. Seules les machines virtuelles diffrent entre plates-formes diffrentes. Cette qualit entrane malheureusement un dfaut : le programme JAVA est compil tout d'abord, puis la machine virtuelle interprte la "compilation" qui vient d'tre faite. JAVA est donc plus lent que le C++. L'avantage de ce langage est qu'il permet de crer de vritables applications, et, mieux, excutables partir d'un applet (regardez l'antivirus en ligne du site, il s'agit d'un applet JAVA). N'hsitez pas consulter maintenant l'article qui vous permettra d'installer le SDK qui va vous permettre de dvelopper vos applications en JAVA.

Installer le SDK de JAVA


Liens commerciaux : Le SDK (Software Development Kit) va vous permettre de raliser vos applications en JAVA. Il faut tout d'abord le tlcharger. Vous pourrez tlcharger le SDK sur le site de Sun l'adresse suivante : SQK JAVA 1.4.2 . Une fois le SDK tlcharg, il vous faut maintenant l'installer. Rien de plus simple, l'assistant fait tout pour vous ! Double-cliquez sur le fichier excutable tlcharg, l'assistant se lance :

L'cran de bienvenue s'affiche. Cliquez sur Suivant. Acceptez ensuite les termes de la licence et cliquez sur Suivant.

Slectionnez ensuite le rpertoire d'installation du SDK puis cliquez sur Suivant.

Choisissez ensuite un nom d'utilisateur et un mot de passe. Slectionnez ensuite Demander le nom de l'administrateur.

Dcochez les cases Enregistrer Application Server et Crer un serveur d'exemples. La case Mise niveau partir d'une version prcdente ne devrait pas vous concerner car nous installons dans ce tutorial pour la premire fois le SDK. Cliquez ensuite sur Suivant.

Un descriptif des premiers paramtres s'affiche. Vous pouvez cliquer sur Installer maintenant. Une fois l'installation russie un message vous en informe. Vous pouvez alors cliquer sur Terminer.

Utiliser BlueJ
Liens commerciaux : BlueJ est un programme qui va vous faciliter la conception d'applications en JAVA. Son interface simple mais complte est rapide prendre en main. Commencez par lancer BlueJ. Si c'est la premire fois que vous lancez le programme (ou si vous avez effectu une manipulation ultrieure), il se peut que cet cran apparaisse :

Cliquez alors sur le bouton Advanced puis slectionnez le fichier java.exe du JDK. Si vous n'avez pas install le JDK, consultez ce tutorial : installer le JDK de JAVA. Cliquez ensuite sur le bouton Lanch BlueJ. Le logiciel se lance et une fentre semblable celle-ci s'ouvre :

Cliquez ensuite sur le menu Project, puis sur New Project. Donnez un nom votre nouveau projet, BlueJ va ensuite crer un dossier portant le nom du projet. Les fichiers du projet (classes, documentation...) seront ensuite tous situs dans ce rpertoire. Une fois le projet cre, la fentre ressemblera ceci :

Nous allons maintenant crer notre premire classe JAVA. Pour ce faire, cliquez sur Edit, puis sur New Class. Choisissez Class et donnez-lui un nom. La convention veut que l'on nomme la premire lettre avec une majuscule et le reste en minuscule.

BlueJ affiche ensuite la classe dans la zone principale :

Double-cliquez ensuite sur la zone orange hachure (les hachures signifient que cette classe n'a pas t compile) reprsentant votre classe "MaClasse". Le code JAVA de votre classe s'affiche :

Vous pouvez constater que BlueJ place un code par dfaut pour la classe que vous venez de crer. Dans ce code figurent des commentaires un peu spciaux. Ils dbutent par un slash suivi de deux toiles, puis se terminent par une toile suivie d'un slash. Ces commentaires vont servir de description pour la documentation de votre projet que BlueJ gnrera automatiquement quand vous lui demanderez. Cliquez pour voir la documentation actuelle sur Implementation (en haut droite) et slectionnez Interface.

Vous pouvez constater que les commentaires modifient la documentation. Slectionnez droite le mode "Implementation" et faites un clic droit sur la classe MaClasse. Slectionnez new MaClasse(). Ceci va crer un objet de la classe MaClasse.

Indiquez ensuite le nom de l'objet crer et cliquez sur Ok.

Vous pouvez voir l'objet en bas gauche dans BlueJ. Un clic droit sur l'objet donne accs aux mthodes de celui-ci.

Principe d'excution d'un code JAVA


Liens commerciaux : Pour dvelopper en JAVA, vous n'avez pas besoin de grand chose. Une fois le SDK install, tout le ncessaire pour gnrer des fichiers "excutables" est install. Un simple diteur de texte comme le bloc notes suffit. Toutefois, pour plus de commodit, vous pouvez utiliser Blue J qui regroupe toutes les fonctions utiles pour dvelopper en JAVA sans prise de tte. Excution d'un programme JAVA et compatibilit : Excution d'un programme JAVA : Pour excuter des applications en JAVA sur votre systme, vous avez besoin de ce qu'on appelle une machine virtuelle. Cette machine virtuelle va interprter le code compil, code gnr partir des fichiers .java (et donc des sources du programme). La compilation des fichiers .java en fichiers .class se fait au moyen de la commande javac NomFichier.java. Pour excuter ensuite ce fichier qui vient d'tre gnr, vous devez utiliser la commande java NomFichier (sans le .class).

Portabilit : L'un des gros avantages du langage JAVA est sa portabilit. La portabilit signifie que votre programme crit une seule fois fonctionnera sur une grande quantit de plateformes diffrentes, sans ncessiter une quelconque modification du code. Seule la machine virtuelle qui interprte les fichiers pr-compils subit des modifications. Ainsi, un utilisateur de Linux ne tlchargera pas la mme machine virtuelle qu'un utilisateur de Windows, seulement le code concoct par le ou les programmeur(s) donnera la mme chose sur les deux systmes. Dveloppement en JAVA : Lorsque vous dveloppez en JAVA, vous rencontrerez principalement deux types de fichiers :

Les fichiers ayant une extension .java : Ce sont de simples fichiers textes qui contiennent le code JAVA ncessaire votre programme. Vous pouvez ouvrir ces fichiers avec n'importe quel diteur de texte. Les fichiers ayant une extension .class : Ces fichiers ne sont pas directement ditables. Ce sont des "compilations" effectues par la machine virtuelle. Ce sont ces fichiers qui seront interprts par la machine virtuelle lorsque vous excuterez votre programme.

Conventions de codage en JAVA


Liens commerciaux : Afin que votre programme JAVA soit comprhensible le plus simplement par tous, et si vous souhaitez rendre votre application facilement distribuable, il convient d'adopter certaines rgles standards de nommage. Les classes et interfaces : Les noms de classes correspondent aux noms de leurs fichiers .java. On crit les classes en minuscules avec chaque premire lettre des mots composant le nom de la classe en majuscules. Ici, pour cet exemple, la classe MaClasse sera enregistre sous le nom MaClasse.java public class MaClasse { //code } Les attributs : On adopte la rgle suivante : les noms d'attributs sont crits en minuscules. Chaque premire lettre d'un mot s'crit en majuscules, sauf pour le premier mot. En pratique cela donne ceci : public type monAttribut; Les constantes : Les constantes sont crites en majuscules. On utilise l'underscore _ pour sparer les mots : public final type MA_CONSTANTE = valeur; Les mthodes : Il n'y a pas de rgle particulire en ce qui concerne les mthodes. En revanche, la plupart du temps les conventions utilises pour les classes sont galement utilises pour les mthodes. Essayez d'tre le plus descriptif possible dans le nom de votre mthode. Si vous utilisez une langue particulire, essayez de vous y tenir (n'crivez pas une partie de votre code en Franais et l'autre partie en Anglais par exemple).

Les classes en JAVA

Liens commerciaux :

JAVA est un langage entirement orient objet. Tout votre code doit donc tre inclus dans ce qu'on appelle des classes (il vous en faudra au moins une quelle que soit l'application dsire). On dcompose chaque classe en un fichier texte qui obit aux conventions de codage JAVA. Les classes : Une classe s'crit comme ceci : public class MaClasse { //code } Il n'est pas ncessaire d'ajouter un constructeur une classe. Un constructeur est une mthode qui sera appele ds la cration de l'objet (instanciation de la classe). Cependant, si votre classe n'a ni constructeur ni mthode main() (nous allons revenir sur cette mthode plus bas) et qu'il s'agit de l'unique classe de votre projet, vous ne pourrez rien faire de concret. C'est pourquoi dans chaque projet il vous faut au moins une mthode main() qui sera appele lorsque vous utiliserez la commande java NomClasse partir de la console de votre systme d'exploitation. Voici l'exemple d'une classe avec un constructeur : public class Test { public Test() { System.out.println("L'objet a t cr"); } } Lorsque vous crerez l'objet Test via cette instruction : Test variable = new Test(); , ceci affichera l'cran "L'objet a t cr". Ceci ne fonctionnera pourtant toujours pas si votre classe est la seule du projet et que vous souhaitez l'excuter. Pour pouvoir excuter votre classe sans l'intermdiaire d'un environnement de dveloppement intgr (aussi appel IDE) comme par exemple BlueJ, vous devez imprativement ajouter une mthode main() votre classe. Mthode main() : public class Test { public static void main(String[] args) { System.out.println("Le projet a t lanc"); } }

Comme vous pouvez le voir, nous avons utilis quelques mots inconnus jusqu'alors. Parmi ces mots, on remarque la prsence des mots cls static et void que vous aurez l'occasion de voir dans la section JAVA du site. Le mot cl static signifie que la mthode main() est statique, c'est dire que vous pouvez y accder sans avoir cr d'instance de l'objet. le mot cl void signifie que la mthode main ne retourne rien. Ne vous proccupez pas de ces deux mots cls pour l'instant, sachez qu'ils doivent figurer devant toute mthode main invoque au dmarrage de votre application. Le tableau args contiendra tous les arguments que vous aurez passs la ligne de commande. Par exemple si vous appelez votre programme via la ligne de commande suivante : java Test argument1 argument2, le tableau args sera de cette forme : args[0] = "argument1"; args[1] = "argument2"; etc...

JAVA - Constructeurs et destructeurs


Liens commerciaux : Les constructeurs : Lorsque vous crez un objet (instanciation d'une classe), vous faites automatiquement appel une mthode gnrique appele constructeur. Cette mthode permet gnralement d'assigner des valeurs aux variables dfinies dans la classe. Cette mthode obit toutefois des rgles particulires :

Un constructeur doit toujours tre une mthode publique Vous devez imprativement donner le mme nom que votre classe au constructeur Un constructeur ne retourne rien, c'est dire que vous n'ajouterez pas de return dans cette mthode. Vous ne devez pas mettre de void, mme si le constructeur ne retourne rien.

Voici une classe dote d'un constructeur : public class Test { public Test() { System.out.println("L'objet a t cr"); } }

Lorsque vous crerez l'objet Test via cette instruction : Test variable = new Test(); , ceci affichera l'cran "L'objet a t cr". En gnral, un constructeur sert plutt attribuer des valeurs aux attributs de la classe. Nous voici avec une classe dj plus exploitable : public class Test { private int zero; private boolean condition; public Test() { zero = 0; condition = false; System.out.println("L'objet a t cr"); } } La surcharge : En JAVA, il existe ce que l'on appelle la surcharge de mthode. Les constructeurs n'chappent pas cette rgle. La surcharge de mthode intervient lorsque l'on nomme deux mthodes l'identique, seuls les paramtres varient. Voici un exemple : public class Test { private int zero; private boolean condition; public Test() { zero = 0; condition = false; System.out.println("L'objet a t cr"); } public Test(boolean bool) { zero = 0; condition = bool; System.out.println("L'objet a t cr avec le second constructeur"); } } Maintenant une question se pose : quel constructeur va choisir JAVA lorsque vous allez crer votre objet ?

Tout dpend du code que vous allez utiliser :


Test variable = new Test(); //Ceci va utiliser le premier constructeur car aucun paramtre n'a t fourni, et donc l'attribut "condition" de la classe vaudra false. Test variable = new Test(true); //Ceci va utiliser le second constructeur car le paramtre bool a t fourni. L'attribut "condition" vaudra true. Test variable = new Test(false); //Ceci va utiliser le second constructeur car le paramtre bool a t fourni. L'attribut "condition" vaudra false.

Le destructeur : Le destructeur est une mthode spciale qui sera appele (si elle est redfinie dans la classe) lorsque l'objet sera nettoy de la mmoire par le garbage collector. Le garbage collector est un "ramasse-miettes" charg de faciliter la tche des programmeurs en librant les ressources prises en mmoire automatiquement. Cette mthode n'est pas forcment appele lorsque vous supprimez l'objet. Pour utiliser le destructeur vous devez redfinir une mthode appele finalize() publique et qui ne renvoie rien. On peut donc avoir le code suivant : public class Test { private int zero; private boolean condition; public Test() { zero = 0; condition = false; System.out.println("L'objet a t cr"); } public void finalize() { System.out.println("Objet nettoy de la mmoire"); } }

Crer des objets en JAVA


Liens commerciaux : Cration d'un objet (instanciation d'une classe) : Lorsque l'on cre un objet, tant donn que c'est toujours la mme classe qui est utilise pour le mme type d'objets (si vous avez une classe rectangle et que vous souhaitez crer deux rectangles, vous n'utiliserez qu'une seule classe rectangle mais deux objets de type Rectangle), on parle d'instance. Une instance de classe correspond un objet. Chaque objet doit tre stock dans une variable diffrente. Pour crer un objet, il faut tout d'abord dclarer une variable du type de la classe. Si vous avez une classe qui se nomme Test, votre variable sera de type Test. public class Test { public Test() { System.out.println("L'objet a t cr"); } } Nous allons maintenant voir comment crer un objet de type Test : Test mon_objet = new Test(); Comme vous pouvez le voir, on utilise le mot cl new pour crer un nouvel objet. Sparation entre la dclaration et la dfinition : Vous pouvez dclarer un attribut de type objet et le dfinir ensuite, comme n'importe quel autre attribut. Voici ce que a donne au niveau du code : Test mon_objet; //ici n'importe quel code mon_objet = new Test(); Vous pouvez donc crer une quantit d'objets infinie. Pour crer deux objets diffrents, on fera par exemple ceci : Test mon_objet; Test mon_objet2; //ici n'importe quel code

mon_objet = new Test(); mon_objet2 = new Test(); Ensuite en fonction du code de votre classe, vous attribuerez des valeurs identiques ou diffrentes aux objets, le code de la classe restant le mme. Cration de deux objets identiques : Lorsque vous souhaitez crer deux variables qui pointent sur le mme objet, c'est trs simple. En effet, les variables d'objets ne sont que des pointeurs sur l'objet en lui-mme. Pour faire simple, voici ce code : Test mon_objet; //ici n'importe quel code mon_objet = new Test(); La variable "mon_objet" ne contient pas l'objet en lui-mme mais une adresse vers laquelle pointer pour modifier les proprits de cet objet. C'est dire que si nous crivons ceci : Test mon_objet; Test mon_objet2; //ici n'importe quel code mon_objet = new Test(); mon_objet2 = mon_objet; On aura ralis une duplication des deux variables, seulement comme la variable "mon_objet" pointe vers l'objet cr auparavant et que la variable "mon_objet2" est une copie de la prcdente variable, la variable "mon_objet2" pointera en ralit sur l'objet cr auparavant. Vous n'aurez donc pas cr deux objets mais deux rfrences qui pointent sur un seul objet. Pour crer deux objets identiques, on utilise une mthode spciale appele clone(). Le code devient le suivant : Test mon_objet; Test mon_objet2;//ici n'importe quel code mon_objet = new Test(); mon_objet2 = mon_objet.clone(); Cette fois-ci, si vous modifiez une proprit de "mon_objet2", "mon_objet" ne sera pas modifi, contrairement ce qu'il se serait pass auparavant.

Types de donnes en JAVA : types primitifs, types objets et types enveloppes


Liens commerciaux : Types de donnes : Dans chacun de vos objets, vous aurez la ncessit de stocker des donnes qui pourront tre de diffrents types. JAVA est un langage fortement typ, c'est dire qu'un attribut d'une classe aura un type bien dfini, contrairement au PHP par exemple, o une variable peut accepter n'importe quelles valeurs quel que soit leur type. Prciser le type d'une variable permet de coder plus proprement en savant quel type de donnes on manipule. Cela permet galement de minimiser la place des donnes occupe en mmoire. On distingue deux grandes familles de types de donnes en JAVA :

Les types primitifs Les types objets

Voici le tableau des types primitifs : Type primitif byte short int long float double char boolean Signification Entier trs court allant de -128 +127 Entier court allant de -32768 +32767 Entier allant de -2 147 483 648 +2 147 483 647 Entier long allant de -263 +263 -1 Nombre rel allant de -1.4 * 10-45 +3.4 * 1038 Nombre rel double prcision allant de 4.9 * 10-324 +1.7 * 10308 Caractre unicode (65536 caractres possibles) variable boolenne (valeurs : vrai ou faux) Place occupe en mmoire 1 octet 2 octets 4 octets 8 octets 4 octets 8 octets 2 octets 1 octet

Les types objets : Il existe un type objet "transparent" : le type String (notez le S majuscule, c'est important). Ce type de donnes pourra contenir une chane de caractres. Comme il s'agit d'un type objet, le type String dispose de mthodes propres, comme par exemple la mthode equals() qui permet de savoir si une chane contient la valeur dsire. Les types enveloppes :

Un type enveloppe est un type objet qui encapsule un type primitif. Grce aux classes enveloppes (aussi appeles wrappers) vous pourrez manipuler les types primitifs l'aide de mthodes inclues spcialement pour ces types enveloppes. Voici la liste des types enveloppes intgrs en JAVA : Type enveloppe Type primitif associ Byte byte Short short Integer int Long long Float float Double double Character char Boolean boolean Utilisation des types enveloppes : Voici un exemple de code qui va utiliser un entier via la classe enveloppe Integer : public class Test { Integer nombre; public Test() { nombre = new Integer(7);

//On assigne la valeur 7

System.out.println("L'objet a t cr, voici sa valeur : " + nombre); System.out.println("L'objet a t cr, voici sa valeur : " + nombre.intValue()); System.out.println("L'objet a t cr, voici sa valeur : " + nombre.floatValue()); } } Vous constatez que l'on peut dsormais utiliser des mthodes sur le type objet. Excutez le code suivant et constatez le rsultat ! Conversion de types de donnes (cast) : Le cast consiste convertir des donnes. Voici un exemple de cast : public class Test { float nombre; int nb_int; public Test() {

nombre = 3.14f; nb_int = (int) 8.14; System.out.println("Le nombre flottant vaut : " + nombre); System.out.println("Le nombre entier vaut : " + nb_int); } } Lorsque nous attribuons la valeur "3.14" la variable nombre, nous ajoutons un "f" la fin pour signifier qu'il s'agit d'un nombre flottant. Si vous ne le faites pas, vous aurez une erreur de "loss of precision" la compilation. Vous pouvez pour viter cette erreur faire un cast en signifiant que nombre est un type float, ce qui donnera ceci : public class Test { float nombre; int nb_int; public Test() { nombre = (float) 3.14; nb_int = (int) 8.14; System.out.println("Le nombre flottant vaut : " + nombre); System.out.println("Le nombre entier vaut : " + nb_int); } }

Attributs (variables), Attributs statiques, constantes - JAVA


Liens commerciaux : Les attributs : Un attribut permet de stocker des donnes l'intrieur d'une classe. Un attribut se note comme ceci dans la classe (ou dans une mthode) : [droits d'accs] [type de l'attribut] [nom de l'attribut] [ventuellement une dfinition ici] Droits d'accs : Les droits d'accs un attribut peuvent tre de trois types :

private : seules les mthodes de la classe dans laquelle est dfinit l'attribut peuvent y accder et le modifier protected : seules les mthodes de la classe et des ventuelles classes hrites peuvent accder l'attribut et le modifier public : tout le monde peut accder l'attribut en question.

Type de l'attribut : Les types correspondent aux types de donnes vus auparavant. Nom de l'attribut : Le nom que vous souhaitez donner votre attribut. Il vaut mieux qu'il se compose de caractres alphanumriques. L'underscore est autoris, toutefois vitez de le placer en premier. Dfinition de l'attribut : La dfinition d'un attribut indique que vous lui avez attribu une valeur. Ceci est facultatif. Si vous n'attribuez pas de valeur votre attribut, il y aura simplement une zone mmoire rserve, cette zone ne contiendra aucune valeur tant que vous n'aurez pas attribu de valeur votre attribut. Exemple : public class Test { private float nombre; public double attribut_public; protected int nb; public Test() { nombre = 3.14f; nb = (int) 8.14; } } Pour l'instant rien ne change ou presque de ce que vous avez eu l'occasion de voir jusqu' prsent. Les tableaux : Un tableau va vous permettre de stocker plusieurs donnes au sein d'une seule variable. Les donnes sont accessibles via des indices numriques. Pour dire que telle variable est un tableau, on fait succder le type de la variable par deux crochets : [] Si vous souhaitez attribuer une taille fixe votre tableau (pour qu'il ne puisse contenir plus d'lments que spcifi), vous devez utiliser la syntaxe suivante (on prendra un tableau

d'entiers pour notre exemple) : public int[] tableau; tableau = new int[10]; Ce tableau aura 10 cases numrotes de 0 9 (le premier indice tant 0). Exemple de tableau ayant une taille indfinie : public class Test { public int[] compteur; public Test() { compteur[0] = 0; compteur[1] = 1; System.out.println(compteur.length); } } Si vous souhaitez rcuprer la taille d'un tableau, il faut utiliser l'attribut length comme ceci : System.out.println("taille : " + tableau.length); Constantes : Les constantes diffrent des attributs "normaux" par le fait qu'elles sont dfinies une fois pour toutes. C'est pourquoi vous devez obligatoirement sur la mme ligne dclarer et dfinir la constante qui ne pourra avoir une valeur variable au cours du temps. On ajoute le mot cl final pour dire que l'attribut en question est une constante : public class Test { private final float NOMBRE = 3.14f; public Test() { System.out.println("Le nombre flottant vaut : " + NOMBRE); } } Attributs statiques : Un attribut statique est un attribut qui est commun tous les objets que vous pourrez crer. On peut par exemple citer un compteur du nombres d'instances de classe que vous aurez lances. Si vous souhaitez compter le nombre de fois o vous avez instanci la classe "Test" vous pourrez crire ceci : public class Test {

public static int nombre; public static final int nb = 5; public Test() { nombre++; System.out.println("Nombre d'instances cres : " + nombre); } } L'avantage des attributs statiques est que vous pouvez y accder mme si vous n'avez pas cr d'instance de votre classe. Ainsi, vous pourrez crire si vous le souhaitez n'importe o dans une mthode ceci : System.out.println("Nombre d'instances cres : " + Test.nb); Ce code affichera 5.

Java - les mthodes (classiques, statiques, surcharge)


Liens commerciaux : Les mthodes : Les mthodes (aussi appeles fonctions par abus de langage) vont vous permettre d'effectuer des traitements gnralement que vous effectuerez au moins deux fois dans le code (sinon la cration d'une mthode ne vous permettra juste que d'claircir un peu votre code avec en contrepartie une petite perte de performances). Une mthode se dlimite comme une classe, c'est dire par deux accolades. Vous tes cependant oblig d'y ajouter des parenthses, mme si elles ne contiennent rien. Ce qu'on peut placer l'intrieur des parenthses s'appellent les paramtres. Il existe diffrents types de mthodes que l'on peut globalement classer en trois familles :

Les accesseurs : ces mthodes vont permettre de modifier un attribut priv d'une classe par une autre classe (il s'agit d'une mthode publique accessible aux autres classes). Les modificateurs : ces mthodes ne retournent rien et modifient la valeur d'un attribut priv. Il s'agit de mthodes publiques. Le reste : toutes les fonctions qui ne rentrent pas dans ces deux catgories.

Les droits d'accs :

Comme pour les attributs, les mthodes disposent des mmes droits d'accs qui limitent leur utilisation :

public : la mthode est accessible de n'importe o. private : la mthode est accessible uniquement dans la classe o elle figure. protected : la mthode est accessible dans la classe o elle figure et dans les classes hrites.

Exemple d'une mthode MaMethode() qui ne renvoie rien (le mot cl void est facultatif), et qui ne prend pas de paramtre d'entre : public class Test { public Test() { MaMethode(); } public void MaMethode() { System.out.println("Appel de la mthode"); } } Lorsque votre mthode doit retourner un type de donne, vous devez remplacer "void" par le type de donne que vous souhaitez. Lorsque votre mthode doit retourner une donne, on utilise le mot cl return. Attention, ce mot cl provoque l'arrt de la fonction, c'est dire que la donne sera retourne et l'ventuel code se trouvant aprs le mot return ne sera pas excut. On peut donc utiliser le mot cl return pour interrompre une fonction comme ceci : return; (ceci est valable si votre fonction ne renvoie rien, sinon vous devez retourner le type de donnes appropri, par exemple 0 pour un type de donnes int). Exemple d'une mthode acceptant un paramtre et retournant un entier : public class Test { public Test() { MaMethode(50); } public int MaMethode(int variable) { System.out.println("Le nombre que vous avez pass en paramtre vaut : " + variable); return variable + 50; //variable vaut maintenant 100 } }

La surcharge de mthodes : La surcharge survient lorsque l'on a deux mthodes du mme nom mais qui ne prennent pas les mmes paramtres. Voici un exemple de surcharge de mthode : public class Test { public Test() { MaMethode(); MaMethode(50); } public void MaMethode(int variable) { System.out.println("Le nombre que vous avez pass en paramtre vaut : " + variable); } public void MaMethode() { System.out.println("Vous avez appel la mthode sans paramtre "); } } Mthodes statiques : Une mthode statique est une mthode qui peut tre appele mme sans avoir instanci la classe. Une mthode statique ne peut accder qu' des attributs et mthodes statiques. Exemple d'application avec une mthode statique : public class Test { public int test; public static String chaine = "bonjour"; public Test() { MaMethodeStatique(); } public static void MaMethodeStatique() { int nombre = 10; System.out.println("Appel de la mthode statique : " + nombre + chaine); } }

Vous pouvez sans avoir instanci la classe accder la mthode statique en tapant ceci : Test.MaMethodeStatique(); n'importe o dans votre code.

Les conditions if / else / else if / switch case en JAVA


Liens commerciaux : Les conditions : Une condition va vous permettre d'excuter une portion de code ou non en fonction du rsultat de variables boolennes, c'est dire que vous pourrez dire "si X est faux alors je fais a, sinon ceci et si aucune des conditions prcdentes n'est remplie, je ferais plutt cela". Tout a se code en JAVA avec diffrentes instructions. Les plus courantes sont les instructions if / else. Les instructions if / else : L'instruction if se traduit en franais par "si". Elle va vous permettre d'effectuer une action si une condition est vraie ou fausse : if(condition) { //code } Exemple d'instruction if : public class Test { public int variable = 20; public Test() { if(variable == 20) { System.out.println("La variable 'variable' est bien gale 20"); } } } Dans notre exemple, on affichera bien le texte car la variable est bien gale 20. Notez que l'on utilise l'oprateur == pour les comparaisons de donnes avec des types primitifs. Le simple signe gal est un signe d'affectation.

L'instruction else se traduit en franais par "sinon". Elle va vous permettre d'excuter une action si la premire condition situe dans le "if" n'est pas ralise. Voici un exemple dans lequel on affichera que la variable n'est pas gale 20 Exemple d'instruction else : public class Test { public int variable = 15; public Test() { if(variable == 20) { System.out.println("La variable 'variable' est bien gale 20"); } else { System.out.println("La variable 'variable' n'est pas gale 20"); } } } L'instruction else if : Voici un exemple d'instruction else if qui sera je pense plus explicite qu'un long discours : public class Test { public int variable = 15; public Test() { if(variable == 20) { System.out.println("La variable 'variable' est bien gale 20"); } else if(variable == 15) { System.out.println("La variable 'variable' n'est pas gale 20 et est gale 15"); } else if(variable == 10) { System.out.println("La variable 'variable' n'est pas gale 20 ni 15 et est gale 10"); } else { System.out.println("La variable 'variable' n'est ni gale 20 ni 15 ni 10"); }

} } L'instruction Switch / case : L'instruction Switch est utile quand vous devez grer beaucoup de if / else if / else. Elle a une syntaxe plus courte et est plus approprie pour ce type de cas. Fonctionnement : switch(variable) { case 'valeur1': action1; break; case 'valeur2': action2; break; case 'valeur3':'valeur4': action3; break; default: action4; break; } Ici dans notre exemple de fonctionnement de cette instruction, on remarque la ligne case 'valeur3' : 'valeur4' :. Cette ligne veut dire que si la variable variable vaut soit 'valeur3' soit 'valeur4', alors on excutera "action4". Vous pouvez mettre autant de valeurs que vous souhaitez. Si aucune valeur ne correspond, la ou les instructions contenues dans le bloc default s'excute(nt). Voici notre exemple prcdent (bas sur des else if) traduit avec l'instruction switch / case : public class Test { public int variable = 15; public Test() { switch(variable) { case 20 : System.out.println("La variable 'variable' est bien gale 20"); break; case 15 : System.out.println("La variable 'variable' n'est pas gale 20 et est gale 15"); break; case 10 : System.out.println("La variable 'variable' n'est pas gale 20 ni 15 et est gale

10"); break; default: System.out.println("La variable 'variable' n'est ni gale 20 ni 15 ni 10"); break; } } } La ngation : La ngation s'utilise quand on souhaite par exemple dire "si telle variable n'est pas gale ". On peut utiliser l'oprateur != (qui veut dire "diffrent de") mais on peut utiliser aussi tout simplement le point d'exclamation, qui veut dire "non". Attention, le point d'exclamation s'applique une variable boolenne (true ou false), vous devrez donc mettre parfois des parenthses. Exemple : public class Test { public int variable = 15; public Test() { if(!(variable == 20)) { System.out.println("La variable 'variable' n'est pas gale 20"); } } }