Sentencias de bifurcación

Puede añadir sentencias de ramificación break y continue en acciones.

IRL da soporte a dos sentencias de ramificación: la sentencia break y la sentencia continue .

Interrumpir

La sentencia break termina un bucle for o while cuando se encuentra la sentencia. En un bucle for , por ejemplo, el flujo de transferencias de control a la sentencia que sigue a la forque lo contiene, tal como se muestra a continuación:

then {
  int ?i = 1;
  int ?j = 1;
  for ( ?i = 1; ?i <= 3; ?i++ ) {
    System.out.println("\ni= " + ?i + ": ");
    for ( ?j = 1; ?j <= 3; ?j++ ) {
        System.out.println(" j = " + ?j) ;
        if ( ?i == ?j ) {
             break;
         }
     }
   }
 }

La sentencia break sólo finaliza el bucle en el que existe. Si hay dos bucles anidados, un break en el bucle interno sale del bucle interno pero no del bucle externo. La salida del ejemplo anterior se muestra aquí:

i= 1:
 j = 1

i= 2:
 j = 1
 j = 2

i= 3:
 j = 1
 j = 2
 j = 3

Continuar

Utilice la sentencia continue para omitir la iteración actual de un bucle for o while . En lugar de finalizar el bucle como la sentencia break , la sentencia continue omite todas las sentencias siguientes en el cuerpo del bucle y ejecuta la siguiente iteración del bucle. La sentencia continue se muestra en el ejemplo siguiente.

then {
   StringBuffer ?whitePaper = new StringBuffer(
                     "The Case for Business Users of Information Technology");
   int ?max = ?whitePaper.length();
   int ?numSs = 0;
   int ?i = 0;
   for (?i = 0; ?i < ?max; ?i++) {
      if (?whitePaper.charAt(?i) != 's'){
         continue;
        }
        ?numSs++;
        ?whitePaper.setCharAt(?i, 'S');
      }
   System.out.println("Found " + ?numSs + " s's in the string.\n");
   System.out.println(?whitePaper);
}

Aquí está la salida:

Se han encontrado 6 s en la serie.
El CaSe de los USerS de tecnologías de la información BuSineSS 

El ejemplo pasa por un almacenamiento intermedio de serie comprobando cada letra. Si el carácter actual no es un s, la sentencia continue omite el resto de las sentencias del bucle y continúa con la siguiente iteración para probar el siguiente carácter. Si es un s, la regla incrementa un contador y convierte el s a mayúsculas.