Was ist das? Noch nie gesehen...

HarleyDavidson

Bekanntes Mitglied
Guten Morgen zusammen. Ich bin heute morgen auf ein Stück Code in einer Applikation gestoßen,
das ich so nicht kenne. Hier mal ein kleines KSKB, damit ihr es auch ausprobieren könnt.

Java:
    public static void main( String[] args )
    {
        ArrayList<String> projekte = new ArrayList<String>();
 
        projekte.add( "ABCDE");
        projekte.add( "BLABLUB");
        projekte.add( "UNDNOCHEINES");
        
        projekte: //Was ist das? Wie nennt man das?
        for ( String projekt : projekte )
        {
            System.out.println( projekt );
        }
    }

Dieses "projekte:" ... Wieso wirft das keinen Fehler? Wie nennt man das? Hat es einen Sinn?
 
Das nennt sich Label.
Es wird verwendet, wenn man in sehr verschachtelten Schleifen in übergeordnete Schleifen zurückspringen will.
Mit dem break-Befehl kann man ja sonst nur in die direkt übergeordnete Schleife zurückspringen.
Diese Sprungziele erlauben, auch darüberliegende zu erreichen.

In deinem Beispiel ist es eher sinnbefreit.

Hier ein Beispiel:
Java:
		Integer[][][] data = new Integer[][][] { { { 1, 2, 3 }, { 2, 3, 4 }, { 3, 4, 5 } }, { { 4, 5, 6 }, { 5, 6, 7 }, { 6, 7, 8 } },
				{ { 7, 8, 9 }, { 8, 9, 0 }, { 9, 0, 1 } } };
		for (Integer[][] matrix : data) {
			matrix: for (Integer[] line : matrix) {
				line: for (Integer cell : line) {
					System.out.println(cell);
					if (cell.equals(new Integer(5))) {
						break line;
					} else if (cell.equals(new Integer(8))) {
						break matrix;
					}
				}
			}
		}
 

Zurück
Oben