Java - Break et boucle imbriquées
 Dans cette fiche...

<Retour>

Description de l'applet

Difficulté : Résultat
L'instruction Break permet de sortir "prématurément" d'un bloc délimité par accolades. Utilisée dans une boucle, elle sert à interrompre la boucle.

Voici un exemple où le break est placé dans des boucles imbriquées.

Reportez-vous éventuellement à la boucle For pour plus de détails.

Votre navigateur n'est pas compatible Java !

Listing de l'applet

// ----------------------------------------------------
// BOUCLEFORIB : 2 BOUCLES IMBRIQUEES AVEC INTERRUPTION
// ----------------------------------------------------
import java.applet.*;
import java.awt.*;
public class BoucleForIB extends Applet
{
	// Initialisation de l'applet
	public void init()
	{
		// Couleur de fond : noir
		setBackground(Color.black);
	}

	// Dessin de l'applet
	public void paint(Graphics g)
	{
		int i, j;
		// Ecrire en blanc
		g.setColor(Color.white);
		// Ecrire les valeurs de 0 à 5, verticalement
		for( i = 0; i < 5; i++)
		{
			for( j = 0; j < 5; j++)
			{
				// Sortir de cette boucle si j est égal à 3
				if (j == 3) break;

				g.drawString("i,j = " + i + "," +j, i*45+10, 15+j*15);
			}
		}		
		g.setColor(Color.yellow);
		g.drawString("A la sortie de la boucle, i = "+i, 10, 15+i*15);
	}
}

Le listing en détail...

Comme d'habitude, seules les nouveautés sont commentées.

for( i = 0; i < 5; i++)
{
	for( j = 0; j < 5; j++)
	{
		// Sortir de cette boucle si j est égal à 3
		if (j == 3) break;
		g.drawString("i,j = " + i + "," +j, i*45+10, 15+j*15);
	}
}	
La boucle en i va de 0 à 4 sans être interrompue (l'affichage se fait donc normalement sur 5 colonnes).
La boucle en j doit en principe aller de 0 à 4, mais elle est interrompue à 3. L'applet n'affiche donc que 3 lignes.

On voit clairement l'effet du break :

  • toutes les commandes suivant le break (dans le bloc j) sont ignorées (les valeurs j=3 et j=4 ne sont donc pas affichées dans la boucle)
  • l'exécution du programme se poursuit hors de la boucle (la boucle i reprend son cours, et fait repartir j à 0 à chaque fois).

Le break n'est pas limité à la boucle For : vous pouvez en placer dans un While, un Do/While, un Switch...

Intégration de l'applet dans la page

Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :

<applet code="BoucleForIB.class" width=250 height=100>
Votre navigateur n'est pas compatible Java !
</applet>

Pour plus de précisions sur l'intégration d'une applet, cliquez ici.