While-løkke
I forrige kapittel kunne du se at vi med hjelp av en løkke gjentok koden 10 ganger. Nå skal vi se nærmere på syntaksen til en av disse løkkene.
while-løkke
while-løkka er det enkleste eksempelet på en løkke i bruk. Denne løkka vil gjentatte ganger utføre en kodeblokk så lenge betingelsen i condition-blokken evalueres til true. Når betingelsen returnerer false, vil løkken stoppe å kjøre.
Main.java
123while (condition) { // code to be executed }
For å huske hvordan denne løkken fungerer, kan du følge en enkel regel: Så lenge betingelsen er sann, utføres operasjonen. For eksempel, så lenge det regner, bruker jeg paraply. Så snart regnet stopper, går jeg uten paraply.
Det regner - condition
Jeg bruker paraply - koden som kjøres inne i løkken
Regnet har stoppet - kompilatoren går ut av løkken og slutter å kjøre koden inne i løkken.
Nå skal vi se nærmere på en mer detaljert forklaring av hvordan while-løkka fungerer:
-
Betingelsen evalueres før hver iterasjon. Hvis betingelsen er sann, kjøres kodeblokken inne i løkken. Hvis betingelsen er usann, avsluttes løkken, og programmet fortsetter med neste setning etter løkken;
-
Kodeblokken inne i løkken kan inneholde én eller flere setninger. Disse setningene vil bli kjørt gjentatte ganger så lenge betingelsen forblir sann;
-
Det er viktig å sørge for at betingelsen til slutt blir usann, ellers vil løkken kjøre uendelig og forårsake en uendelig løkke.
Her er et eksempel som demonstrerer while-løkka:
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 10; while (a != b) { a = a + 1; System.out.println("a has value: " + a); b = b - 1; System.out.println("b has value: " + b); } System.out.println("Is a equal to b: " + (a == b)); } }
I denne koden har vi to variabler av typen int. I løkken vår setter vi en betingelse som lyder slik: så lenge verdien til variabelen a ikke er lik verdien til variabelen b, øker vi variabelen a og minsker variabelen b. Når verdiene deres er like, avslutter vi while-løkken.
Swipe to start coding
Finn summen av et tallområde fra 1 til n.
- Lag en metode kalt
sumFrom1ToN(int n)som returnerer etint-resultat. - Definer to variabler inne i metoden:
sum(for å lagre totalen).current(starter på 1).
- Bruk en
while-løkke for å gjenta følgende trinn tilcurrenter større ennn:- Legg til verdien av
currenttilsum. - Øk
currentmed1.
- Legg til verdien av
- Returner den totale
sumpå slutten av løkken.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Fantastisk!
Completion rate forbedret til 2.7
While-løkke
Sveip for å vise menyen
I forrige kapittel kunne du se at vi med hjelp av en løkke gjentok koden 10 ganger. Nå skal vi se nærmere på syntaksen til en av disse løkkene.
while-løkke
while-løkka er det enkleste eksempelet på en løkke i bruk. Denne løkka vil gjentatte ganger utføre en kodeblokk så lenge betingelsen i condition-blokken evalueres til true. Når betingelsen returnerer false, vil løkken stoppe å kjøre.
Main.java
123while (condition) { // code to be executed }
For å huske hvordan denne løkken fungerer, kan du følge en enkel regel: Så lenge betingelsen er sann, utføres operasjonen. For eksempel, så lenge det regner, bruker jeg paraply. Så snart regnet stopper, går jeg uten paraply.
Det regner - condition
Jeg bruker paraply - koden som kjøres inne i løkken
Regnet har stoppet - kompilatoren går ut av løkken og slutter å kjøre koden inne i løkken.
Nå skal vi se nærmere på en mer detaljert forklaring av hvordan while-løkka fungerer:
-
Betingelsen evalueres før hver iterasjon. Hvis betingelsen er sann, kjøres kodeblokken inne i løkken. Hvis betingelsen er usann, avsluttes løkken, og programmet fortsetter med neste setning etter løkken;
-
Kodeblokken inne i løkken kan inneholde én eller flere setninger. Disse setningene vil bli kjørt gjentatte ganger så lenge betingelsen forblir sann;
-
Det er viktig å sørge for at betingelsen til slutt blir usann, ellers vil løkken kjøre uendelig og forårsake en uendelig løkke.
Her er et eksempel som demonstrerer while-løkka:
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 10; while (a != b) { a = a + 1; System.out.println("a has value: " + a); b = b - 1; System.out.println("b has value: " + b); } System.out.println("Is a equal to b: " + (a == b)); } }
I denne koden har vi to variabler av typen int. I løkken vår setter vi en betingelse som lyder slik: så lenge verdien til variabelen a ikke er lik verdien til variabelen b, øker vi variabelen a og minsker variabelen b. Når verdiene deres er like, avslutter vi while-løkken.
Swipe to start coding
Finn summen av et tallområde fra 1 til n.
- Lag en metode kalt
sumFrom1ToN(int n)som returnerer etint-resultat. - Definer to variabler inne i metoden:
sum(for å lagre totalen).current(starter på 1).
- Bruk en
while-løkke for å gjenta følgende trinn tilcurrenter større ennn:- Legg til verdien av
currenttilsum. - Øk
currentmed1.
- Legg til verdien av
- Returner den totale
sumpå slutten av løkken.
Løsning
Takk for tilbakemeldingene dine!
single