Razlika med zanko in med zanko

Avtor: Laura McKinney
Datum Ustvarjanja: 2 April 2021
Datum Posodobitve: 10 Maj 2024
Anonim
Promo Video for school of Medicine-University of Sulaimaniyah
Video.: Promo Video for school of Medicine-University of Sulaimaniyah

Vsebina


V C ++ in Javi iteracijski stavki za zanko, medtem ko zanka in zanka do dela, omogočajo, da se niz navodil večkrat izvaja, dokler ni pogoj resničen in preneha takoj, ko pogoj postane napačen. Pogoji v iteracijskih stavkih so lahko vnaprej določeni kot v zanki ali odprti kot v zanki, medtem ko je zanka.

Za povečanje njegove uporabnosti, moči in fleksibilnosti je mišljenih več različic zanke "for". Na primer, zanka for nam omogoča, da za nadzor nad njo uporabljamo več spremenljivk znotraj zanke in uporabo funkcije konverge z zanko 'for'. Nasprotno, medtem ko zanka while ne uporabljamo veliko različic, ki jih moramo uporabiti s standardno skladnjo.

Obstaja nekaj velikih razlik med zankami za in medtem, ki so pojasnjene v nadaljevanju s primerjalno tabelo.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoza medtem
Izjavaza (inicializacija; pogoj; ponovitev) {
// telo za zanko
}
medtem ko (pogoj) {
izjave; // telo zanke
}
OblikaInicializacija, preverjanje stanja, iteracijski izpis so napisani na vrhu zanke.Na vrhu zanke se izvede samo inicializacija in preverjanje stanja.
UporabaZanka for je bila uporabljena šele, ko smo že vedeli število ponovitev.Zanka while se uporablja le, kadar število ponovitev ni natančno znano.
PogojČe pogoj ni pripravljen za zanko, potem zanka ponavlja neskončno.Če pogoj med zanko ni nastavljen, zagotavlja napako pri sestavljanju.
InicializacijaIn za zanko se inicializacija, ki je enkrat opravljena, nikoli ne ponovi.Če je zanka, če je med preverjanjem stanja opravljena inicializacija, potem se inicializacija opravi vsakič, ko se zanka itera.
Ponovitev izjaveStavek za iteracijo zanke je napisan zgoraj, torej se izvrši šele po izvedbi vseh stavkov v zanki.Medtem ko je zanka, lahko iteracijski stavek zapišemo kjer koli v zanki.


Opredelitev zanke

Na Javi obstajata dve obliki za zanke. Prva oblika je "tradicionalna" oblika, druga pa oblika "za vsakega".

Sintaksa

Splošna oblika izjave o tradicionalni zanki.

for (inicializacija; pogoj; iteracija) {// body of for zanka}

  • Inicializacija - Inicializacija spremenljivke za nadzor zanke zanke se izvede samo enkrat, med prvo iteracijo zanke. Tu se inicializira spremenljivka zanke, včasih če se spremenljivka zanke ne uporablja ponovno nikjer v programu in se uporablja le kot nadzorna spremenljivka zanke, potem je deklarirana in inicializirana v zanki 'for'.
  • Pogoj - Pogoj zanke 'for' se izvrši vsakič, ko je zanka ponovljena.
  • Povečanje in iteracija- Stavek iteracije je izraz, ki poveča ali zmanjšuje spremenljivko, ki nadzoruje zanko.

Kadar koli se zanka izvede, se najprej izvede njen inicializacijski pogoj; potem se preveri stanje. Če je pogoj izpolnjen, se izvede telo zanke, nato se izvede izjava iteracije. Nato se ponovno preveri stanje, da vemo, ali se bo zanka nadaljevala ali se bo končala.


V Javi lahko inicializacijski stavek in iteracijski stavek vključujeta več kot en stavek. Vsak stavek je ločen z vejico, na Javi je vejica ločitelj, medtem ko je v jeziku C ++ "vejica" operator, ki se lahko uporablja v katerem koli veljavnem izrazu.

za vsako zanko in njeno skladnjo

Obrazec "za vsakega" je izboljšan za zanko. Splošna oblika za vsako zanko je sledeča.

za blok stavka (vnesite iter_variable: collection)

Tukaj "tip" določa vrsto iteracijske spremenljivke, ki ji sledi iteracijska spremenljivka. Iteracijska spremenljivka bo prejela element iz zbirke spremenljivk. Vrsta mora biti enaka vrsti elementov, shranjenih v zbirni spremenljivki. Oblika for za zanko za vsako avtomatizira iteracijo zanke od začetka do konca dostopa do vrednosti v zaporednem zaporedju.

Primer

Obstajajo različne vrste zbiranja, ki se uporabljajo za zanko. Pogovorimo se o matriki kot zbirki.

javni razred Main {javni statični void main (String args) {int array = {10, 20, 30, 40, 50, 60}; int add = 0; za (int c: array) {System.out.ln ("vrednost v c" + c); dodaj = dodaj + c; } System.out.ln ("additon array elementov je" + add); }} // izhodna vrednost v c 10 vrednost v c 20 vrednost v c 30 vrednost v c 40 vrednost v c 50 vrednost v c 60 dodatek matričnih elementov je 210

Tu je 'c' iteracijska spremenljivka; prejema vrednosti iz matrike, ena za drugo, od najnižjega indeksa do najvišjega indeksa v matriki. Tukaj se zanka ponavlja, dokler niso pregledani vsi elementi matrike. Vmes je mogoče zanko zaključiti z uporabo "break". Vendar sprememba iteracijske spremenljivke ne vpliva na matriko, saj je le spremenljivka, ki je samo za branje.

Opredelitev zanke while

The medtem zanka je najbolj temeljna zanka, ki je na voljo v C ++ in Javi. Delovanje zanke za čas je podobno tako v C ++ kot v Javi.

Sintaksa

Izjava časovne zanke je naslednja

while (pogoj) {izjave; // telo zanke}

Zanka na začetku preveri stanje in nato izvrši izjave, dokler se stanje ne vklopi, medtem ko se zanka izkaže za resnično. Pogoj v zanki, medtem ko je zanka, je lahko kateri koli logični izraz. Ko izraz vrne katero koli nič-nič vrednost, je pogoj resničen, in če izraz vrne ničelno vrednost, postane pogoj napačen.

Če pogoj postane resničen, se zanka sam ponovi, in če postane pogoj napačen, potem nadzor preide v naslednjo vrstico kode, ki ji takoj sledi zanka. Stavki ali zanka telesa so lahko prazna izjava ali posamezna izjava ali blok stavkov.

Primer

Pogovorimo se o delovanju zanke. V spodnjem primeru bo koda od 1 do 10.

// Primer je na Javi. javni razred Main {javni statični void main (String args) {int n = 0; medtem ko (n <10) {n ++; System.out.ln ("n =" + n); }}} // izhod n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Tu je začetna vrednost 'n' 0, zaradi česar je stanje v zanki resnično. Nadzor nato vstopi v telo zanke while in vrednost 'n' se poveča v skladu s prvo izjavo v telesu zanke. Vrednost 'n' je spremenjena, nato se nadzor čez nekaj časa vrne v stanje, zdaj je vrednost 'n' enaka, ki ponovno izpolnjuje pogoj in telo zanke se ponovno izvede. To se nadaljuje, dokler pogoj ni resničen, ko postane pogoj napačen, zanka preneha.

Tako kot zanka "for" lahko tudi zanka "while" nadzorno spremenljivko inicializira na vrhu zanke, tj. Med preverjanjem stanja.

// na primer while ((ch = getchar ())! = A) {System.out.ln ("Vhodna abeceda" + ch); }

Tu se inicializira kontrolna spremenljivka 'ch', stanje zanke pa se preveri na vrhu zanke.

Opomba:

Lahko gre za zanko ali zanko za čas, če je v telesu zanke samo ena izjava, kodraste naramnice v tem stanju niso potrebne.

  1. V za zanka, inicializacija, preverjanje stanja ter povečanje ali zmanjšanje iteracijske spremenljivke je izrecno izvedeno samo v sintaksi zanke. Glede proti, v medtem zanko lahko le inicializiramo in preverimo stanje v skladnji zanke.
  2. Ko se zavedamo števila ponovitev, ki se morajo pojaviti pri izvedbi zanke, potem uporabimo za zanka. Po drugi strani, če se ne zavedamo števila iteracij, ki se morajo pojaviti v zanki, potem uporabimo medtem zanka.
  3. Če ne vnesete izjave o stanju za zanke, privedlo bo do neskončne ponovitve zanke. V nasprotnem primeru, če izjave o pogoju ne postavite v medtem zanka bo privedla do napake pri sestavljanju.
  4. Inicializacijski stavek v skladnji za zanka se izvede samo enkrat na začetku zanke. In obratno, če medtem zanka nosi inicializacijski stavek v svoji sintaksi, potem se bo inicializacijski stavek v zanki, medtem ko se zanka izvaja, vsakič, ko se zanka iterati.
  5. Ponovitev izjave v za zanka se izvede po telesu za zanko. Nasprotno, izjavo o ponovitvi lahko napišemo kjer koli v telesu medtem zanka, torej lahko obstajajo nekateri stavki, ki se po izvedbi izjave iteracije izvajajo v telesu zanke while.

Zaključek:

Oba sta zanka in zanka, vendar sta iteracijski stavek, vendar imata obe značilnosti. Zanka for ima vse svoje izjave (inicializacija, stanje, iteracija) na vrhu telesa zanke. Nasprotno, v primeru, da je zanka samo inicializacija in stanje na vrhu telesa zanke, iteracija se lahko napiše kjerkoli v telesu zanke.