Outils pour utilisateurs

Outils du site


lang:java:condition

if

Condition classique

if ()
{
  plusieurs instructions;
}
else if ()
  une instruction;
else
  une instruction;

Attention aux else s'il y a des if imbriqués :

if ()
  if ()
    une instruction;
else // Ici, l'indentation est mauvaise car le else correspond au second if.
  une instruction;

Conditions multiples sur une même valeur

if (IntStream.of(12, 16, 19).anyMatch(i -> i == x))

switch

Cas courant

Les switch/case agissent comment des goto. Il faut donc mettre un break pour éviter de passer à l'instruction suivante.

int i = 0;
switch (i)
{
  case 0:
    i = 2;
    // Sans break, l'instruction i = 3 sera exécutée.
    // break;
  case 1:
    i = 3;
    break;
  // Plusieurs conditions pour une même exécution de code.
  case 2:
  default:
    break;
}

Les variables déclarées dans un case sont accessibles depuis les case suivants.

int k = 1;
switch (k)
{
  case 0:
    // Si k != 0, la variable i existe mais n'est pas initialisée.
    int i = 0;
    break;
  case 1:
  {
    int j = 3;
    break;
  }
  case 2:
  default:
    i = 123;
    // j = 15; // Impossible car en dehors du bloc de déclaration de j.
    break;
}

Le switch / case fonctionne de la même façon sur des string.

lang/java/condition.txt · Dernière modification : 2020/03/06 21:31 de root