Starpība starp un kamēr cilpa

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 9 Maijs 2024
Anonim
Самый простой способ выровнять пол! Быстро, Дешево, Надежно. ENG SUB
Video: Самый простой способ выровнять пол! Быстро, Дешево, Надежно. ENG SUB

Saturs


C ++ un Java atkārtojuma paziņojumi cilpai, kamēr cilpa un izpildes cikls ļauj atkārtot komandu izpildi, līdz nosacījums ir taisnība un beidzas, tiklīdz nosacījums kļūst nepatiess. Nosacījumi atkārtojuma paziņojumos var būt iepriekš definēti kā cilpai in-in vai beztermiņa kā in-cilpa.

Lai palielinātu tā pielietojamību, jaudu un elastību, tiek domāts par vairākiem C ++ cilpas variantiem. Piemēram, for cilpa ļauj mums izmantot vairāk nekā vienu mainīgo cilpas iekšpusē, lai to kontrolētu, un izmantot konverģēšanas funkciju ar “for” cilpu. Un otrādi, kamēr cilpas laikā mēs nevaram izmantot daudzas variācijas, kuras jāizmanto standarta sintaksei.

Starp cilpām un to laikā ir dažas būtiskas atšķirības, kuras sīkāk izskaidro ar salīdzināšanas diagrammas palīdzību.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatspar kamēr
Deklarācijafor (inicializācija; nosacījums; iterācija) {
// cilpas korpuss
}
kamēr (nosacījums) {
paziņojumi; // cilpas korpuss
}
FormātsInicializācija, stāvokļa pārbaude, atkārtojuma paziņojums tiek uzrakstīts cilpas augšdaļā.Cilpas augšdaļā tiek veikta tikai inicializācija un stāvokļa pārbaude.
IzmantojietFor cilpa tika izmantota tikai tad, kad mēs jau zinājām iterāciju skaitu.Kamēr cilpa tiek izmantota tikai tad, ja iterācijas skaits nav precīzi zināms.
StāvoklisJa nosacījums nav piemērots cilpai, cilpa atkārtojas bezgalīgi reizes.Ja nosacījums nav ievietots cilpas laikā, tas nodrošina kompilācijas kļūdu.
InicializēšanaCiklā inicializēšana, kas izdarīta, nekad netiek atkārtota.In cikla laikā, ja inicializācija tiek veikta stāvokļa pārbaudes laikā, tad inicializācija tiek veikta katru reizi, kad cilpa atkārtojas.
Iteratācijas paziņojumsTā kā cilpas iterācija tiek rakstīta augšpusē, tātad izpilda tikai pēc visu cilpas paziņojumu izpildīšanas.Kamēr cilpa, iterācijas paziņojumu var rakstīt jebkurā cilpas vietā.


Cilpas definīcija

Java ir divas formas par cilpas. Pirmā forma ir “tradicionālā” forma, bet otrā - “katram par”.

Sintakse

Cilpas paziņojuma tradicionālās formas vispārīgā forma.

for (inicializācija; nosacījums; iterācija) {// cilpas cilpa}

  • Inicializēšana - Cilpas kontrolējošā mainīgā inicializācija tiek veikta tikai vienu reizi, pirmās cilpas atkārtojuma laikā. Šeit cilmes kontroles mainīgais tiek inicializēts, dažreiz, ja cilpas mainīgais atkal netiek izmantots nekur programmā un tiek izmantots tikai kā cilpas kontrolējošais mainīgais, tad tas tiek deklarēts un inicializēts cilnē “par”.
  • Stāvoklis - cilpas “par” nosacījums tiek izpildīts katru reizi, kad cilpa tiek atkārtota.
  • Palielinājums un iterācija- Ierācijas paziņojums ir izteiksme, kas palielina vai samazina cilpu kontrolējošo mainīgo.

Kad cilpa tiek izpildīta, vispirms tiek izpildīts tās inicializācijas nosacījums; tad tiek pārbaudīts stāvoklis. Ja nosacījums ir izpildīts, tiek izpildīts cilpas korpuss, tad tiek izpildīts atkārtojuma paziņojums. Tad atkal tiek pārbaudīts stāvoklis, lai zināt, vai cilpa atkārtosies tālāk vai izbeigsies.


Java programmā inicializācijas paziņojumā un iterācijas paziņojumā var būt ietverti vairāki paziņojumi. Katru paziņojumu atdala viens ar otru ar komatu, Java valodā komats ir atdalītājs, savukārt C ++ valodā “komats” ir operators, kuru var izmantot jebkurā derīgā izteiksmē.

katrai cilpai un tās sintakse

Forma “katram” ir uzlabota cilpai. Katras cilpas vispārējā forma ir šāda.

for (type iter_variable: collection) paziņojumu bloks

Šeit “tips” norāda iterācijas mainīgā veidu, kam seko iterācijas mainīgais. Iterācijas mainīgais saņems elementu no kolekcijas mainīgā. Veidam jābūt tādam pašam kā elementu tipam, kas glabājas kolekcijas mainīgajā. Katra cilpas forma automatizē cilpas atkārtošanos no sākuma līdz beigām, lai piekļūtu vērtībām secīgā secībā.

Piemērs

Ir dažādi kolekciju veidi, ko izmanto cilpai. Apspriedīsim to ar masīvu kā kolekciju.

sabiedriskās klases galvenā {publiski statiskā tukšā galvenā (stīgu loka) {int masīvs = {10, 20, 30, 40, 50, 60}; int pievienot = 0; for (int c: masīvs) {System.out.ln ("vērtība c" + c); pievienot = pievienot + c; } System.out.ln ("masīva elementu papildinājums ir" + pievienot); }} // izejas vērtība c 10 vērtībā c 20 vērtībā c 30 vērtībā c 40 vērtībā c 50 vērtībā c 60 papildinājuma masīva elementos ir 210

'C' ir iterācijas mainīgais; tas saņem vērtības no masīva, pa vienam, no zemākā indeksa līdz augstākajam masīva indeksam. Šeit cilpa atkārtojas, līdz tiek pārbaudīti visi masīva elementi. Starp cilpu ir iespējams pārtraukt, izmantojot “break”. Tomēr iterācijas mainīgā izmaiņas neietekmē masīvu, jo tas ir tikai lasāms mainīgais.

Kamēr cilpas definīcija

kamēr cilpa ir visvienkāršākā cilpa, kas pieejama C ++ un Java. Laika posma darbība ir līdzīga gan C ++, gan Java.

Sintakse

Brīdinājuma cilpas deklarēšana ir šāda

while (nosacījums) {paziņojumi; // cilpas korpuss}

Kamēr cilpa sākotnēji pārbauda stāvokli un pēc tam izpilda paziņojumus, līdz nosacījums, kamēr cilpa izrādās patiesa. Stāvoklis cilpas laikā var būt jebkura Būla izteiksme. Kad izteiksme atgriež jebkuru vērtību, kas nav nulle, nosacījums ir taisnība, un, ja izteiksme atgriež nulles vērtību, nosacījums kļūst nepatiess.

Ja nosacījums kļūst patiess, tad cilpa atkārtojas pati, un, ja nosacījums kļūst nepatiess, vadība pāriet uz nākamo koda rindu, kurai tūlīt seko cilpa. Paziņojumi vai pamatteksts var būt gan tukšs paziņojums, gan atsevišķs paziņojums, gan paziņojumu bloks.

Piemērs

Apspriedīsim īslaicīgas cilpas darbību. Zemāk redzamajā piemērā kods būs no 1 līdz 10.

// piemērs ir Java. sabiedriskās klases galvenā {publiski statiskā tukšā galvenā (stīgu loka) {int n = 0; kamēr (n <10) {n ++; System.out.ln ("n =" + n); }}} // izeja n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Sākotnējā 'n' vērtība ir 0, kas padara nosacījumu, kamēr cilpa ir patiesa. Pēc tam vadības pults nonāk brīvas cilpas ķermenī, un “n” vērtība tiek palielināta atbilstoši pirmajam paziņojumam īslaicīgās cilpas pamattekstā. Tiek rediģēta 'n' vērtība, pēc tam vadības pults atgriežas pie stāvokļa pēc brīža cilpas, tagad 'n' vērtība ir 1, kas atkal atbilst nosacījumam, un cilpas korpuss tiek izpildīts vēlreiz. Tas turpinās, līdz nosacījums ir izpildīts, tiklīdz nosacījums kļūst nepatiess, cilpa tiek pārtraukta.

Tāpat kā cilpa “par”, “kamēr” cilpa var arī inicializēt vadības mainīgo cilpas augšdaļā, t.i., stāvokļa pārbaudes laikā.

// piemēram, kamēr ((ch = getchar ()) = A) {System.out.ln ("Ievades alfabēts" + ch); }

Šeit tiek inicializēts kontroles mainīgais “ch”, un cilpas stāvoklis tiek pārbaudīts cilpas augšdaļā.

Piezīme:

Vai tā var būt cilpa vai brīva cilpa, ja cilpas ķermenī ir tikai viens paziņojums, tad cirtaini lences šādā stāvoklī nav vajadzīgas.

  1. Iekšā par cilpa, inicializācija, stāvokļa pārbaude un iterācijas mainīgā palielināšana vai samazināšana tiek veikta tieši cilpas sintaksē. Kā pret kamēr cilpa mēs varam tikai inicializēt un pārbaudīt stāvokli cilpas sintaksē.
  2. Kad mēs zinām, cik iterāciju ir jānotiek, izpildot cilpu, tad mēs izmantojam par cilpa. No otras puses, ja mēs nezinām, cik iterācijas ir jānotiek cilpā, tad mēs izmantojam kamēr cilpa.
  3. Ja neizdodas ievietot nosacījuma paziņojumu par cilpa, tas novedīs pie bezgalīgas cilpas atkārtošanās. Turpretī, ja neizdodas ievietot nosacījumu paziņojumā kamēr cilpa tas novedīs pie kompilācijas kļūdas.
  4. Inicializācijas paziņojums par cilpa tiek izpildīta tikai vienu reizi cilpas sākumā. Un otrādi, ja kamēr cilpa nes inicializācijas paziņojumu savā sintaksē, tad inicializācijas paziņojums, kamēr cilpa tiks izpildīta katru reizi, kad cilpa atkārtojas.
  5. Iterācijas paziņojums par cilpa tiks izpildīta pēc cilpas izpildes. Tieši pretēji, iterācijas paziņojumu var uzrakstīt jebkur kamēr cilpa, tāpēc var būt daži paziņojumi, kas tiek izpildīti pēc atkārtojuma paziņojuma izpildes cikla cilpas pamattekstā.

Secinājums:

Gan cilpa, gan cilpa ir atkārtojuma atkārtojums, taču abām ir atšķirīga iezīme. For cilpai visa tās deklarācija (inicializācija, stāvoklis, iterācija) ir cilpas korpusa augšdaļā. Pretēji tam, kamēr cilpas korpusa augšdaļā atrodas tikai cilpas inicializācija un stāvoklis, un iterāciju var uzrakstīt jebkur cilpas ķermenī.