Java-do-while-sløyfen sikrer at et program utfører instruksjoner til en definert avslutningsbetingelse er oppfylt. Du kan også kombinere sløyfen med andre funksjoner.

Hva er en do-while-løkke?

Do-while-sløyfen brukes i Java til å utføre og gjenta en instruksjon til en definert avslutningsbetingelse er oppfylt (dvs. sann). Lignende sløyfer finnes i de fleste programmeringsspråk og brukes til å utføre bestemte kodeblokker flere ganger. Sløyfen kan også kombineres med andre funksjoner. I Java er do-while-sløyfen en variant av while-sløyfen.

Hva er syntaksen for Java-s do-while-løkke?

Syntaksen til do-while-sløyfen i Java ser slik ut:

do {
	//statements
}
while(condition);
java

Sløyfen starter med nøkkelordet do, etterfulgt av instruksjonene eller kommandoen som programmet skal utføre. Etter den avsluttende parentesen vises nøkkelordet while, som utløser sløyfens avslutningsbetingelse. Denne betingelsen uttrykkes alltid som et boolsk uttrykk, noe som betyr at den i programmets logikk evalueres til enten sant eller falskt. Et vanlig og nyttig eksempel på et slikt uttrykk er en tellervariabel, som lar deg bestemme antall ganger sløyfen skal gjentas.

Hvordan sløyfen fungerer

Når Java do-while-sløyfen utføres, ser programmet på instruksjonene i sløyfekroppen og utfører dem. Når dette er fullført, sjekker det avslutningsbetingelsen. Hvis denne er sann (dvs. ikke oppfylt ennå), starter sløyfen fra begynnelsen og gjentar alle setninger til den sjekkes igjen. Så snart avslutningsbetingelsen er oppfylt og dermed falsk, avslutter programmet sløyfen og fortsetter med resten av koden.

Eksempel på en enkel løkke

For å illustrere hvordan sløyfen fungerer, viser vi deg strukturen ved hjelp av et enkelt eksempel. I det følgende eksemplet skal vi tilordne variabelen x verdien 10. Ved hjelp av Java-operatoren ++ vil denne verdien økes med 1 for hvert gjennomløp og vises med Java-kommandoen System.out.println. Vår avslutningsbetingelse er verdien 20, så sløyfen gjentas så lenge x er mindre enn 20. Koden ser slik ut:

public class Main {
	public static void main(String[] args) {
		int x = 10;
		do {
			System.out.println(x);
			x++;
		}
		while (x < 20);
	}
}
java

Hvis vi kjører denne koden, får vi følgende utdata:

10
11
12
13
14
15
16
17
18
19
java

Programmet utfører deretter sløyfen igjen, men gjenkjenner verdien av x som 20. Siden den ikke lenger er mindre enn 20, er avslutningsbetingelsen oppfylt, og do-while-sløyfen avsluttes.

Hvordan lage en uendelig sløyfe med verdien true

Ved hjelp av det boolske uttrykket true er det mulig å designe en endeløs løkke med do-while. Denne vil aldri stoppe av seg selv, siden ingen avslutningsbetingelse kan nås. For å avslutte løkken må du manuelt bruke kombinasjonen [Ctrl] + [C]. Den tilsvarende koden ser slik ut:

public class Main {
	public static void main(String[] args) {
		do {
			System.out.println("You are in an endless loop.");
		}
		while(true);
	}
}
java

Hvis du kjører denne koden, får du følgende utdata:

You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
You are in an endless loop.
ctrl+c
java

Hvis du ikke avslutter sløyfen manuelt, vil den fortsette å kjøre.

Forskjellen mellom do-while og while

På mange måter er Java do-while-sløyfen og while-sløyfen like. De skiller seg imidlertid på ett viktig punkt, nemlig at while-sløyfen evaluerer avslutningsbetingelsen helt i starten, mens do-while-sløyfen alltid utføres minst én gang i sin helhet før den kan avsluttes. Hvis du må sikre at kommandoene utføres minst én gang, bør du bruke do-while-sløyfen. Hvis beslutningen om å avslutte er kritisk, bør du vurdere å bruke den hodestyrede while-sløyfen i stedet.

Go to Main Menu