Aug 09

Um zu verdeutlichen, was Labels sind, erst einmal ein Beispiel einer nicht mit label versehenen Schleife:

for (int a = 0; a<3; a++){

for (int b =0; b<4; b++){

if (b ==3)

break;

System.out.println(“a: “+a+” b: “+b);

}

}

Hier geschieht nichts unerwartetes, die Ausgabe ist

a: 0 b: 0
a: 0 b: 1
a: 0 b: 2
a: 1 b: 0
a: 1 b: 1
a: 1 b: 2
a: 2 b: 0
a: 2 b: 1
a: 2 b: 2

Nun die Abänderung mit Label, die bewirkt, das break nicht auf der Ebene der letzten Schleife, sondern auf einer definierten Ebene zieht:

aussen: // Label, kann beliebig benannt werden

f or (int a = 0; a<3; a++){

for (int b =0; b<4; b++){

if (b ==3)

break aussen; // Hinweis, das break an dem Label “aussen” wirken soll

System.out.println(“a: “+a+” b: “+b);

}

}

Die Schleife wird also nicht innerhalb der Schleife, sondern am Punkt aussen beendet; die Ausgabe ist demnach:

a: 0 b: 0
a: 0 b: 1
a: 0 b: 2

Labels können nicht außerhalb der Anweisung, in der sie definiert wurden aufgerufen werden. Sie könnnen im übrigen auf gleicher Art und Weise bei continue angewandt werden.

  • Print
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • RSS
  • Blogosphere
  • email
  • PDF
  • Wikio
  • Technorati
  • Digg
  • DZone

Leave a Reply

preload preload preload
http://www.wikio.de Blog Top Liste - by TopBlogs.de Blogverzeichnis - Blog Verzeichnis bloggerei.de Bloggeramt.de Software
Webbhotell Top Blogs