1.If Grammaire : If Then Statement : if (Expression) Statement Remarque : L'exp

1.If Grammaire : If Then Statement : if (Expression) Statement Remarque : L'expression doit obligatoirement être entre parenthèse et être de type booléene, sinon, erreur de compilation. Si c'est une instruction vide alors il ne se passe rien dans le if. Il est executé après avoir testé l'expression, si elle est vraie, il execute l'instruction (Statement), sinon, il ne l'execute pas. If Then Else Statement if (Expression) StatementNoShortIf else Statement Il est executé après avoir testé l'expression, si elle est vraie alors on execute le bloc d'instrcutions qui suis le if, si cette expression est fausse, on execute l'instruction qui suis le else. Le if détermine le « si » en algorithmique, tandis que le else lui exprime le « sinon » vu en algorithmique. A noter que le else ne peut exister sans le if. Le if est utilisé dans le cadre des alternatives. C'est un mot clé (tout comme else) Les accolades sont optionnelles, si on ne les met pas, ça compile quand même et les instruction sont executé. On met donc les accolades par convention mais pas seulement, en effet, quand on execute plus d'une instruction et qu'on omet les accolades, seule la première instruction est considérée dans le if, ce qui n'est pas le cas lorsqu'on les utilise afin de rassembler en bloc d'instruction. Le principe du dangling else consiste a dire que le else appartiens au if qui le précède, en effet, si on ne met pas les accolades, et qu'il y'a une succession de if, on ne sais pas auquel appartiens le else. C'est l'une des raison pour lesquels on pensera a utiliser les accolades pour contourner le problème. L'expression booléene dont on traite dans la grammaire peut être de différentes formes : - un opérande unaire comme une négation (!) ou une variable. - un opérande ternaire comme ? - les comparateurs ( <, > ≥= , ≤=,!=) - le true et le false, classique - un appel de méthode qui renvoie un booleen - une variable booléene - les opérateur logique ||, &&. Il est important de savoir que le if-else simple avec une instruction peut être remplacé par un opérateur ternaire ?. Exemple : String salutation = (heure > 12) ? « Bonjour » : « Bonsoir» Le premier choix sera effectué si la condition est vraie, sinon il ne sera pas effectué. exemples de If : 1// if ( i == 2) { i = 6 ; } 2// if (!n) {} 3// if (i == 3) { i = 4 ; } else { i = 5 ; } 4// if (i==1) i=2 ; else i = 3 ; 2. Expression Booléene Une expression est composée d'opérateur, de variable, d'appel de méthode ou d'opérande. Pour une expression booléene, la valeur sera soit true, soit false. Les expression booléenes peuvent être écris via des opérateur* uniaire ( ! ou variable), binaire (==, <, >, ≤, ≥ ,!=), ternaire (?)* via les valeurs true ou false, via des appel de méthode qui renvoient un booléen ou encore via des variables booléenes. * A noter qu'un opérateur a toujours besoin de 1, 2 ou 3 opérandes en fonction du faire qu'il soit unaire, binaire ou ternaire. Le séparateur permet de séparer l'expression booléene du reste de l'instruction. Il peut être (), [] ou encore {}. exemple : if (a>b) { i = 1 ; } 3. Visibilité Private La visibilité private s'applique à un champ (attribut ou méthode) d'une classe, il n'est pas accessible en dehors de cette même classe, sauf via un accesseur (getter) ou un mutateur (setter). Exemples : un attribut nombre déclaré comme ceci : private int nombre; pour y acceder les méthodes dans la classe en question sont public : public int getNombre() { return nombre; } public void getNombre(int nombre) { this.nombre = nombre; } Public La visibilité public permet d'acceder aux champs à partir de toute les autres classe, on peut tout y modifier et y acceder comme on veut. Pour y acceder on utilise nomDeLaClasse.nomChampPublic par exemple si je veux acceder a l'attribut suivant dans la classe Projet: public int nombre; je pourrait y acceder via Projet.nombre et même le modifier. Protected (fait référence a l'héritage) La visibilité protected est utilisée lorsqu'on veut que les attribut et les méthodes de la classe mère soit visible dans la classe fille. Du coup, au lieu de mettre le champ comme étant private dans la classe mère, on le met protected. Exemple : public class Employé { protected String nom; protected String prénom; protected int matricule; protected int salaire; } lorsqu'on utilisera le mot clé extends, les attribut de la classe mère seront accessible pour la classe fille et elle va donc pouvoir en hériter comme si ils étaient en private public class Manager extends Employé { private int prime; } la classe Manager aura donc également les méthode et les attribut déclaré en protected dans la classe mère. Package (absence de mot-clé) Cette visibilité apparaît lorsque les champ sont accessible depuis toute les classe du même package. Pour la définir, on ne met aucun mot clé de visibilité. Exemple : boolean isFree(Position position) int package Si la classe qui contiens les attributs déclaré comme package est dans le package esi.util alors toute les classe qui se trouvent dans esi.util y auront accès. 4.Switch Grammaire : Switch Statement : switch (Expression)* SwitchBlock SwitchBlock : { {SwitchBlockStatementGroup} {SwitchLabel} } SwitchBlockStatementGroup SwitchLabel BlockStatement BlockStatement c'est le bloc d'instruction SwitchLabel case ConstantExpression: case EnumConstantName : ConstantExpression c'est les nombres,comme 2,3,4, leur valeur reste la même mais également les String etc... EnumConstantName : Identifier C'est l'une des valeur que l'énumération peut prendre. AssignementExpression LeftHandSide AssignmentOperator Expression Le LeftHandSide c'est le nom de la variable à laquelle on assigne quelque chose. L'AssignmentOperator c'est l'opérateur qui donne une valeur à la variable. ( =, +=, -= etc..) l'expression est une ConstantExpression. Exemple// int var; switch (var = clavier.nextInt()) { case 3 : system.out.println(« fayen a fou ») ; break ; case 4 : system.out.println (« bien ou bien ? ») ; break ; default : } Le switch peut contenir des byte, char, short, int (ainsi que leur type référence Integer, Character, Short etc..) ,des String et des énumération. Attention, le switch ne peut PAS contenir de boolean ou double (ainsi que leur type référence) On utilise le mot clé break pour sortir du switch. Il est généralement placé a la fin du case pour accomplir les instruction avant de quitter le switch, mais ça n'est pas obligatoire, par contre si on oublie le break a la fin de notre case, tout les autres cas qui le suivent seront également executé. C'est également la cause pour laquelle on ne met pas de break a la fin du default car il est en général placé a la fin du switch. Le mot cle default sers à exécuter un bloc d'instruction si aucun case ne correspond à la valeur que la variable a prise. Ce mot clé est optionnel, on peut ne pas le mettre. Exemple (avec énumération) switch (Saison) { case PRINTEMPS : case ETE: system.out.println(« En » + Saison + « Il fait beau ») ; break; case AUTOMNE : case HIVER : system.out.println(« En » + Saison + « Il fait froid ») ; } On remarque qu'il n'y a pas de break a la fin car on quitte le switch, mais on a du mettre un break pour les cas PRINTEMPS et ETE afin de quitter le switch une fois que l'instruction est exécutée. Le switch équivaut au « selon que avec valeur » en algorithmique. L'autre « selon que » est le « selon que condition » et peut être assimilé a une série de if-else imbriqués car le switch ne permet pas de le reproduire. Exemple selon que condition if (i==1) { //instruction } else if (i < 1) { //instruction } else if (i> 1) { //instruction } 5. Import On utilise le mot clé import lorsqu'on veut utiliser une classe qui se trouve dans un autre package. Ex : import monPackage.maClasse ; Pour faire l'appel d'une méthode dans ce cas là, on mentionne le nom de la classe ainsi que la méthode. Par exemple Math.PI Une fois que l'import est fait on peut utiliser nomClasse sans mentionner le nom de son package. On peut également importer toute les classe d'un package en utilisant le joker * qui permet donc d'importer toute les classe du package cité précédemment. Ex : import monPackage.esi.* ; → importera toute les classes du package monPackage.esi L'utilisation de import static * permet d'importer toute les méthode d'une classe et de pouvoir les utiliser sans devoir citer le nom de la classe. Ex : avec import static java.lang.Math.* → pour utiliser la racine carré on utilise simplement sqrt(). On doit obligatoirement mettre le nom d'un package lorsqu'on importe, sinon ça ne fonctionne pas. Ex : import * ; → ne compilera pas. 6. Break/Continue Break Le break permet d'arrêter une instruction.. On l'utilise dans les uploads/s3/ mots-cles-java-2014-2015-complet.pdf

  • 44
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager