2015-04-15 5 views
8

in einem Standardfall fortsetzen Wenn ich dies habe:Having a in einer switch-Anweisung

do { 
    int x = scannerScan.nextInt(); 

    switch(x) 
    { 
     case 1: 
      System.out.println("Stuff"); 
      break; 
     case 2: 
      System.out.println("Pink cows are fluffy and can fly."); 
     default: 
      continue; 
    } 
} 
while(true); 

Was passiert, wenn der Standardfall wurde passieren würde erreicht werden? Ich habe versucht, Sachen im Internet und Stackoverflow zu finden, konnte aber nichts über eine Fortsetzung im Standardfall finden, der mit der Java-Sprache zu tun hatte.

Antwort

10

continue Anweisung in der Schleife

Die continue Anweisung überspringt die aktuelle Iteration einer for, while, oder do-while Schleife. Die unmarkierte Form springt an das Ende des innersten Schleifenkörpers und wertet den booleschen Ausdruck aus, der die Schleife steuert. [...]

In Ihrem Code wird die Schleife while(true); fortgesetzt. Die Anweisung wirkt sich nicht auf den Codeblock switch aus.

+0

Es macht Sinn. Ich hatte etwas Eile, daher konnte ich mir keinen guten booleschen Zustand vorstellen. Aber, das macht Sinn. – Ungeheuer

+0

Übrigens, wenn Sie von Orten zitieren, sollten Sie es zuordnen. – Radiodef

+0

@Radiodef danke für den Tipp, Zitat Quelle ist [hier] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html) – MaxZoom

8

continue Aussagen in switch Aussagen sind nicht besonders. Es würde in den Schleifenzustand (das Ende des Schleifenkörpers) springen, genauso wie es wäre, wenn es innerhalb der Schleife aber außerhalb der switch wäre.

In diesem Code-Snippet tut es effektiv nichts.

6

Vergleichen break statement:

A break Anweisung versucht, die Steuerung an den innersten zu übertragen umschließenden switch, while, do oder for Aussage & hellip;

Mit continue statement:

A continue Anweisung versucht, die Steuerung an den innersten while, do oder for Aussage & hellip einschließe zu übertragen;

Somit bezieht sich auf die continuedo...while Schleife und:

& hellip; beendet dann sofort die aktuelle Iteration und beginnt eine neue.