Usare le label negli statement in Java

Mattepuffo's logo
Usare le label negli statement in Java

Usare le label negli statement in Java

Non tutti sanno che negli statement in Java è possibile usare le label!

E che sarebbero queste label?

Ora lo spieghiamo con un esempio, che è sicuramente più facile.

Prendiamo questo codice:

public class Main {

    public static void main(String[] args) {
        int counter = 0;

        for (int i = 0; i <= 10; i++) {
            for (int j = 0; j <= 10; j++) {
                if (i == 7) {
                    break;
                }
            }
            counter++;
        }

        System.out.println(counter);
    }
}

In pratica, vogliamo uscire dai due cicli ad una determinata condizione, che si vierifica in quello esterno.

In verità, l'output finale sarà 11, e il for interno terminarà comunque tutta l'iterazione.

Usando le label, possiamo invece forzare il programma ad uscire completamente da entrambi i cicli:

public class Main {

    public static void main(String[] args) {
        int counter = 0;

        start:
        {
            for (int i = 0; i <= 10; i++) {
                for (int j = 0; j <= 10; j++) {
                    if (i == 5) {
                        break start;
                    }
                }
                counter++;
            }
        }

        System.out.println(counter);
    }
}

Qui l'output sarà 5, in quanto il secondo ciclo non terminerà tutta l'iterazione.

E' possibile usare le label anche con continue, e non solo con break (anche se con una logica un pò diversa ovviamente).

Enjoy!


Condividi

Commentami!