Les instructions break et continue facilitent respectivement la sortie complète et l'arrêt pour l'itération en cours d'une boucle suite à une condition particulière nécessitant une action précise.

while(condition){
  // Bloc d'instructions...
  break;
  /* sortie de la boucle avant la prochaîne itération
et passage à la prochaine instruction après la boucle
*/
// Bloc d'instructions... } // Prochaines instructions... while(condition){ // Bloc d'instructions... continue; /* arrêt de la boucle à l'itération en cours
mais passage à l'itération suivante
*/
// Bloc d'instructions... }

Il est possible d'utiliser des étiquettes (ou labels) avec les instructions continue et break afin d'indiquer au programme le début de l'instruction à reprendre après la sortie d'une itération.

break label;
continue label;
premiereBoucle: for(i = 0; i < 10; i++) {
  boucleExterne: for(int j = 0; j <= 4; j++) {
    if (j == 4) {
      break premiereBoucle;
    }
    for(k = 0; k < 3; k++) {
      System.out.println('('i + ', ' + j + ', ' + k + ')rn');
      continue boucleExterne;
    }
  }
}

Les deux instructions étiquetées permettent de reprendre les itérations à la première boucle for si j est égal à 4, et à la seconde boucle après l'impression des valeurs i, j et k.

Evidemment, les instructions d'arrêt étiquetées doivent être placées à l'intérieur des boucles désignées par les labels.

int a = 0;
Exterieur: for(int i = 0; i < 10; i++){
  int j = 0;
  while(j < 1000){
    a++;
    j++;
    if(i == 5){
      continue Exterieur;
    }
  }
}
System.out.println("a = " + a);

Les labels sont particulièrement utiles lors de l'utilisation de boucles imbriquées dans un programme.

class Boucles {
  public static void main(String[] args){
    premiere_boucle: for(int i = 0; i < 10; i++) {
      seconde_boucle: for(int j = 0; j < 10; j++) {
        troisieme_boucle: for(int k = 0; k < 10; k++) {
          if((i * j * k) == 9) {
            System.out.println("Sortie Première boucle " 
                                             + (i * j * k));
            continue premiere_boucle;
          }
          if((i * j * k) == 125) {
            System.out.println("Sortie Seconde boucle " 
                                             + (i * j * k));
            continue seconde_boucle;
          }
          if((i * j * k) == 343) {
            System.out.println("Sortie Troisième boucle " 
                                             + (i * j * k));
            continue troisieme_boucle;
          }
        }
      }
    }
  }
}