For-løkke
En stor ulempe med while-løkka er at vi ikke kan angi et eksakt antall iterasjoner og ha full kontroll over løkkens utførelse. Derfor finnes for-løkka, som gir oss alle verktøyene for riktig løkkekontroll og også brukes når man arbeider med arrayer og samlinger.
for-løkke
for-løkka er en kontrollflyt-setning som lar deg gjenta en kodeblokk et angitt antall ganger. Den brukes ofte når du kjenner det eksakte antallet iterasjoner, eller når du itererer over en samling eller en array.
Syntaksen for for-løkka i Java er som følger:
Main.java
123for (initialization; condition; update) { // code to be executed }
Hvis vi går steg for steg, starter vi med å initialisere en variabel i en egen seksjon for dette (vi gjorde det samme for while-løkka, bare at vi gjorde det utenfor løkka). Deretter setter vi betingelsen for når løkka skal kjøre (for eksempel, så lenge variabelen er mindre enn 10). Etter dette bruker vi en økning eller reduksjon. Nedenfor vises et flytskjema og en forklaring på hvordan hver av blokkene i løkka fungerer:
Her er en oversikt over hver del av for-løkka:
- Initialisering: dette er den innledende oppsettet som kun kjøres én gang i starten av løkka. Vanligvis deklarerer og initialiserer du en løkkekontrollvariabel her. For eksempel,
int i = 0; - Betingelse: dette er betingelsen som sjekkes før hver iterasjon. Hvis betingelsen er sann, kjøres løkkens innhold. Hvis betingelsen er usann, avsluttes løkka. For eksempel,
i < 10; - Økning/reduksjon: dette er koden som kjøres etter hver iterasjon. Vanligvis oppdaterer du løkkekontrollvariabelen her. For eksempel,
i++(som tilsvareri = i + 1); - Kode inni løkka: dette er kodeblokken som kjøres for hver iterasjon av løkka. Du kan plassere hvilken som helst gyldig Java-kode inni løkkens kropp.
Her er et eksempel som demonstrerer bruken av en for-løkke:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println("Iteration: " + i); } } }
I dette eksemplet vil løkken kjøres 10 ganger. Den starter med at i settes til 0, sjekker om i er mindre enn 10, utfører løkkens kropp, og oppdaterer deretter i ved å øke den med 1. Denne prosessen gjentas til betingelsen blir usann.
Det er verdt å merke seg at vi i denne løkken kan bruke variabelen vi har opprettet. I vårt tilfelle skriver vi ut variabelen i for å vise iterasjonsnummeret på skjermen.
Dette er svært nyttig, spesielt når vi trenger at variabelen i skal inngå i koden.
La oss se på et annet eksempel hvor vi skal vise kun partall i området fra 1 til 30.
For å avgjøre om et tall er partall eller ikke, vil vi bruke % operatoren. % operatoren i Java brukes for å finne resten etter en divisjon. Den hjelper med å sjekke om et tall går jevnt opp i et annet, noe som er nyttig for å avgjøre om et tall er et partall.
main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 30; i++) { if (i % 2 == 0) { // Check if `i` is even System.out.println(i); } } } }
Flott, i koden ovenfor brukte vi variabelen i når vi sjekket betingelsen. Med andre ord representerer i tallene vi vurderer. Deretter sjekker vi om tallet i er partall ved å bruke modulo-operasjonen (%). Hvis resten etter deling på 2 er null, er tallet et partall, altså det er delelig med 2 uten rest.
La oss tenke oss å dele 3 på 2. Resten etter delingen er 1. Ved å bruke %-operatoren gir 3 % 2 resten, som er 1. Så i uttrykket i % 2 == 0 er resultatet usant fordi resten ikke er 0, noe som indikerer at 3 er et oddetall.
Legg også merke til hvordan vi satte betingelsen for i. Algoritmen for våre handlinger forblir den samme som før, men i løkkebetingelsen begrenset vi i til en verdi på 30, som spesifisert i oppgaven.
1. Hvor mange iterasjoner vil det være?
2. Hvor mange ganger vil i bli vist
Takk for tilbakemeldingene dine!
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
For-løkke
Sveip for å vise menyen
En stor ulempe med while-løkka er at vi ikke kan angi et eksakt antall iterasjoner og ha full kontroll over løkkens utførelse. Derfor finnes for-løkka, som gir oss alle verktøyene for riktig løkkekontroll og også brukes når man arbeider med arrayer og samlinger.
for-løkke
for-løkka er en kontrollflyt-setning som lar deg gjenta en kodeblokk et angitt antall ganger. Den brukes ofte når du kjenner det eksakte antallet iterasjoner, eller når du itererer over en samling eller en array.
Syntaksen for for-løkka i Java er som følger:
Main.java
123for (initialization; condition; update) { // code to be executed }
Hvis vi går steg for steg, starter vi med å initialisere en variabel i en egen seksjon for dette (vi gjorde det samme for while-løkka, bare at vi gjorde det utenfor løkka). Deretter setter vi betingelsen for når løkka skal kjøre (for eksempel, så lenge variabelen er mindre enn 10). Etter dette bruker vi en økning eller reduksjon. Nedenfor vises et flytskjema og en forklaring på hvordan hver av blokkene i løkka fungerer:
Her er en oversikt over hver del av for-løkka:
- Initialisering: dette er den innledende oppsettet som kun kjøres én gang i starten av løkka. Vanligvis deklarerer og initialiserer du en løkkekontrollvariabel her. For eksempel,
int i = 0; - Betingelse: dette er betingelsen som sjekkes før hver iterasjon. Hvis betingelsen er sann, kjøres løkkens innhold. Hvis betingelsen er usann, avsluttes løkka. For eksempel,
i < 10; - Økning/reduksjon: dette er koden som kjøres etter hver iterasjon. Vanligvis oppdaterer du løkkekontrollvariabelen her. For eksempel,
i++(som tilsvareri = i + 1); - Kode inni løkka: dette er kodeblokken som kjøres for hver iterasjon av løkka. Du kan plassere hvilken som helst gyldig Java-kode inni løkkens kropp.
Her er et eksempel som demonstrerer bruken av en for-løkke:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 10; i++) { System.out.println("Iteration: " + i); } } }
I dette eksemplet vil løkken kjøres 10 ganger. Den starter med at i settes til 0, sjekker om i er mindre enn 10, utfører løkkens kropp, og oppdaterer deretter i ved å øke den med 1. Denne prosessen gjentas til betingelsen blir usann.
Det er verdt å merke seg at vi i denne løkken kan bruke variabelen vi har opprettet. I vårt tilfelle skriver vi ut variabelen i for å vise iterasjonsnummeret på skjermen.
Dette er svært nyttig, spesielt når vi trenger at variabelen i skal inngå i koden.
La oss se på et annet eksempel hvor vi skal vise kun partall i området fra 1 til 30.
For å avgjøre om et tall er partall eller ikke, vil vi bruke % operatoren. % operatoren i Java brukes for å finne resten etter en divisjon. Den hjelper med å sjekke om et tall går jevnt opp i et annet, noe som er nyttig for å avgjøre om et tall er et partall.
main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { for (int i = 0; i < 30; i++) { if (i % 2 == 0) { // Check if `i` is even System.out.println(i); } } } }
Flott, i koden ovenfor brukte vi variabelen i når vi sjekket betingelsen. Med andre ord representerer i tallene vi vurderer. Deretter sjekker vi om tallet i er partall ved å bruke modulo-operasjonen (%). Hvis resten etter deling på 2 er null, er tallet et partall, altså det er delelig med 2 uten rest.
La oss tenke oss å dele 3 på 2. Resten etter delingen er 1. Ved å bruke %-operatoren gir 3 % 2 resten, som er 1. Så i uttrykket i % 2 == 0 er resultatet usant fordi resten ikke er 0, noe som indikerer at 3 er et oddetall.
Legg også merke til hvordan vi satte betingelsen for i. Algoritmen for våre handlinger forblir den samme som før, men i løkkebetingelsen begrenset vi i til en verdi på 30, som spesifisert i oppgaven.
1. Hvor mange iterasjoner vil det være?
2. Hvor mange ganger vil i bli vist
Takk for tilbakemeldingene dine!