Hva er For Loop?
"FOR LOOP" -uttrykk er best egnet når du vil utføre en kode et kjent antall ganger i stedet for basert på andre forhold.
I denne sløyfen vil den nedre grensen og den høyere grensen bli spesifisert, og så lenge sløyfevariabelen er mellom dette området, vil sløyfen bli utført.
Sløyfevariabelen er selvinkrementell, så det er ikke behov for en eksplisitt trinnoperasjon i denne sløyfen. Sløyfevariabelen trenger ikke å bli deklarert, da den erklæres implisitt.
FORSyntaks Forklaring:in … LOOP … END LOOP;
- I den ovennevnte syntaksen markerer nøkkelordet 'FOR' begynnelsen på løkken og 'END LOOP' markerer slutten på løkken.
- Sløyfevariabel evalueres hver gang før kjøringsdelen utføres.
- Utførelsesblokken inneholder all koden som må utføres. Utførelsesdelen kan inneholde hvilken som helst utførelseserklæring.
- Loop_variable erklæres implisitt under utførelsen av hele loop, og omfanget av denne loop_variable vil bare være inne i denne loop.
- Hvis løkkevariabelen kom ut av området, vil kontrollen gå ut av sløyfen.
- Sløyfen kan fås til å virke i motsatt rekkefølge ved å legge til nøkkelordet 'REVERSE' før lower_limit.
Eksempel 1 : I dette eksemplet skal vi skrive ut nummer fra 1 til 5 ved hjelp av FOR-løkkeuttrykk. For det vil vi utføre følgende kode.
BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/
Kode Forklaring:
- Kodelinje 2 : Utskrift av utsagnet "Programmet startet".
- Kodelinje 3: Søkeord 'FOR' markerer begynnelsen på sløyfen og loop_variable 'a' blir erklært. Verdien starter nå fra 1 til 5
- Kodelinje 5: Skriver ut verdien av 'a'.
- Kodelinje 6: Nøkkelord 'END LOOP' markerer slutten på utførelsesblokken.
- Koden fra linje 5 vil fortsette å kjøre til 'a' når verdien 6, ettersom tilstanden vil mislykkes, og kontrollen EXIT fra sløyfen.
- Kodelinje 7: Utskrift av utsagnet "Program fullført"
Nestede løkker
Sløyfeuttalelsene kan også nestes. Den ytre og indre sløyfen kan være av forskjellige typer. I den nestede sløyfen vil den indre sløyfen utføres for hver eneste iterasjonsverdi av den ytre sløyfen.
LOOP -outerSyntaks Forklaring:LOOP - inner END LOOP; END LOOP;
- I den ovennevnte syntaksen har den ytre sløyfen en sløyfe i seg.
- Sløyfene kan være av alle typer, og utførelsesfunksjonalitetsdelen er den samme.
Eksempel 1 : I dette eksemplet skal vi skrive ut nummer fra 1 til 3 ved hjelp av FOR-loop-setning. Hvert tall blir skrevet ut så mange ganger som verdien. For det vil vi utføre følgende kode.
DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP; END LOOP; dbms_output.put_line('Program completed' );END;/
Kode Forklaring:
- Kodelinje 2 : Erklærer variabelen 'b' som 'NUMBER' datatype.
- Kodelinje 4 : Utskrift av utsagnet "Programmet startet".
- Kodelinje 5: Nøkkelord 'FOR' markerer begynnelsen på sløyfen og loop_variable 'a' blir erklært. Verdien starter nå fra 1 til 3
- Kodelinje 7: Tilbakestiller verdien av 'b' til '1' hver gang.
- Kodelinje 8: Indre mens sløyfe kontrollerer tilstanden a> = b.
- Kodelinje 10: Skriver ut verdien av 'a' så lenge betingelsen ovenfor er oppfylt.
- Kodelinje 14: Utskrift av utsagnet "Program fullført"
Sammendrag
Løkke | FOR Loop |
UTGANGskriterier | Gå ut når telleren når grensen |
Bruk | Bra å bruke når løkkeantall som skal utføres er kjent. |