Nøgleforskel – while vs do while loop
I programmering kan der være situationer, der er nødvendige for at udføre en blok af sætninger igen og igen. De fleste programmeringssprog understøtter forskellige kontrolstrukturer såsom for loop, while loop og do while loop for at gentage en kode. Sløjferne gør det muligt at udføre et sæt sætninger flere gange, indtil den givne betingelse bliver falsk. Udsagn, der tilhører løkken, er inkluderet i et par krøllede seler. Denne artikel diskuterer forskellen mellem to kontrolstrukturer: while loop og do while loop. While-løkken bruges til at gentage et udsagn eller en gruppe af udsagn, mens en given betingelse er sand. Den kontrollerer tilstanden, før den udfører sætningerne inde i løkken. Do while-løkken ligner while-løkken. Men betingelsen kontrolleres i slutningen af udførelsen af sætningerne inde i løkken. Den vigtigste forskel mellem while-løkke og do while-løkke er, at while-løkke tjekker betingelsen, før sætningerne udføres inde i løkken, mens do while-løkke tjekker betingelsen efter udførelse af sætningerne inde i løkken.
Hvad er while-løkke?
While loop udfører target-sætningen eller -sætningerne, indtil den givne betingelse er sand. For det første verificerer while-løkken, om betingelsen er sand eller ej. Hvis betingelsen er sand, gentager den løkken, indtil betingelsen er sand. Når betingelsen er falsk, overføres kontrollen til den næste kodelinje umiddelbart efter løkken. While-løkken kan indeholde en sætning eller flere sætninger. Se nedenstående program.
Figur 01: while loop-eksempel
I henhold til ovenstående program initialiseres variablen x til 1. Udsagn af while-løkken vil udføres, indtil x-værdien er mindre end eller lig med 5. Indledningsvis er værdien 1, og betingelsen er sand. Derfor udskrives x. Derefter øges x-værdien med 1. Nu er x-værdien 2. Den er mindre end eller lig med 5. Så x udskrives. Igen øges x-værdien med 1. Nu er x 3. Den er mindre end eller lig med 5. Så x vil udskrives igen, og den øges med én. Nu er x 4. Det er også mindre end eller lig med 5. Så x udskrives. Værdien af x øges igen. I den næste iteration bliver x-værdien 5. Den er lig med 5. Alligevel er betingelsen sand. Derfor udskrives x. X-værdien øges igen. Det er 6. Men nu er betingelsen falsk, fordi 6 er større end 5. Udførelsen af løkken afsluttes. Hvis der ikke er nogen stigning i programmet, vil x-værdien altid være 1. Betingelsen vil altid være sand, fordi den er mindre end 5. Derfor vil den være en uendelig løkke.
Hvad er do while loop?
Do while-løkken ligner while-løkken. Men betingelsen kontrolleres efter udførelsen af loop-sætningerne. Derfor, uanset om betingelsen er sand eller falsk, vil løkken udføres mindst én gang. Betingelsen kontrolleres efter løkkens udførelse. Hvis betingelsen er sand, udføres loop-sætningerne igen. Denne proces gentages, indtil betingelsen er falsk. Se nedenstående program.
Figur 02: eksempel på do while-løkke
I henhold til ovenstående program initialiseres variablen x til 1. Sløjfen udfører og udskriver x-værdien. Derefter øges x-værdien med 1. Nu er den 2. Betingelsen er sand, så løkken udføres. X'et udskrives og øges. Nu er den 3. Betingelsen er sand, så løkken udføres. X'et udskrives og øges igen. Nu er det 4. Betingelsen er sand. Løkken udføres. X'et udskrives og øges. Nu er x 5. Stadig er betingelsen sand, fordi den er mindre end eller lig med 5. Så løkken udføres igen og udskriver x-værdien. Derefter øges x med 1. Nu er x 6. Betingelsen er falsk. Løkkeudførelsen afsluttes.
Antag, at x er initialiseret til 10 i begyndelsen. Alligevel vil løkken udføre og udskrive x-værdi, fordi betingelsen testes i slutningen af løkken. Når man kontrollerer tilstanden, er den falsk. Derfor afsluttes loop-udførelsen. Selv betingelsen er sand eller falsk, vil do while-løkken udføres mindst én gang. Det er processen med do while loop.
Hvad er ligheden mellem while og do while loop?
Begge er kontrolstrukturer i programmering
Hvad er forskellen mellem while og do while loop?
while vs do while loop |
|
While-løkken er en kontrolstruktur, der tillader, at kode udføres gentagne gange baseret på en given boolesk tilstand. | Do while-løkken er en kontrolstruktur, der udfører en kodeblok mindst én gang og derefter gentagne gange udfører blokken, eller ej, afhængigt af en given boolsk tilstand i slutningen af blokken. |
Tilstandserklæring | |
Betingelsessætningen for while-løkken er i begyndelsen af løkken. | Betingelsessætningen for do while-løkken er i slutningen af løkken. |
Execution | |
While-løkken udføres kun, hvis betingelsen er sand. | Do while kan udføres mindst én gang, selvom betingelsen er falsk. |
Opsummering – while vs do while loop
I programmering er det nogle gange nødvendigt at udføre et sæt sætninger igen og igen. Det bruges kontrolstrukturer til. To af dem er while og do while loop. Denne artikel diskuterede forskellen mellem while loop og do while loop. While-løkken bruges til at gentage et udsagn eller en gruppe af udsagn, mens en given betingelse er sand. I do while-løkke kontrolleres betingelsen i slutningen af udførelsen af sætningerne inde i løkken. Do while-løkken ligner while-løkken, men do while-løkken kan udføres mindst én gang, selvom betingelsen er sand eller falsk. Forskellen mellem while-løkke og do while-løkke er, at while-løkke tjekker betingelsen, før sætningerne udføres inde i løkken, mens do while-løkke tjekker betingelsen efter udførelse af sætningerne inde i løkken.