1. break
uttalande
Låt oss ta en titt på ett exempel från föregående lektion:
Koda | Förklaring |
---|---|
|
Programmet kommer att läsa en rad från tangentbordet tills du anger "exit" . |
Programmet läser rader från konsolen tills ordet exit
skrivs in. Om du anger det här ordet isExit
blir variabeln true
, loopvillkoret blir och loopen slutar."!isExit
false
Java har ett speciellt break
uttalande som låter dig förenkla sådan logik. Om en break
sats exekveras inuti en loop, slutar loopen omedelbart. Programmet kommer att börja exekvera satsen som följer loopen. Uttalandet är mycket kortfattat:
break;
Så här kan du använda uttalandet break
för att skriva om exemplet vi just diskuterade:
Koda | Förklaring |
---|---|
|
Programmet kommer att läsa en rad från tangentbordet tills du anger "exit" . |
2. fortsätt uttalande
Men break
är inte den enda Java-satsen som låter dig kontrollera en loops beteende. Java har också continue
uttalandet. Om du kör en continue
sats i en loop kommer den aktuella iterationen av loopen att avslutas före schemat.
Att utföra loopkroppen en gång kallas en iteration av loopen. Sätten continue
avbryter den aktuella iterationen av slingan, men till skillnad från break
satsen avslutar den inte själva slingan. Uttalandet är också kortfattat:
continue;
Uttalandet continue
är superbekvämt i en loop om vi vill "hoppa över" exekvering av loopkroppen i vissa situationer.
Uppgift: Vi vill skriva ett program som skriver ut siffror från 1
till 20
men hoppar över siffror som är delbara med 7
. Så här kan den här koden se ut.
Koda | Förklaring |
---|---|
|
Programmet visar nummer från 1 till 20 . Om talet är delbart med 7 (återstoden av divisionen med 7 är 0 ), hoppar vi över att visa talet. |
Egentligen kommer den här koden inte att fungera , eftersom den i
för alltid kommer att vara fast vid numret 7
. Trots allt continue
hoppar påståendet över två andra påståenden: System.out.println(i)
och i++
. Som ett resultat, när vi når värdet, kommer 7
variabeln i
att sluta ändras och vi kommer att vara i en oändlig loop.
Vi skrev koden på detta sätt med avsikt för att illustrera detta mycket vanliga misstag. Hur fixar vi det?
Det finns två alternativ här:
Alternativ 1: ändra i
före exekvering continue
, men efteri % 7
Alternativ 2: öka alltid i
i början av loopen. Men då i
måste startvärdet vara 0
.
Alternativ 1 | Alternativ 2 |
---|---|
|
|
GO TO FULL VERSION