Ero silmukan välillä ja samalla

Kirjoittaja: Laura McKinney
Luomispäivä: 2 Huhtikuu 2021
Päivityspäivä: 10 Saattaa 2024
Anonim
Ero silmukan välillä ja samalla - Tekniikka
Ero silmukan välillä ja samalla - Tekniikka

Sisältö


C ++- ja Java-sovelluksissa silmukka-, silmukka- ja keskeytyssilmukan iterointikäskyt sallivat käskyjoukon toistuvan suorittamisen, kunnes ehto on tosi ja loppuu heti, kun ehto muuttuu vääriksi. Erityykset iteraatiolausekkeissa voidaan ennalta määritellä kuten silmukalla tai avoimet kuten silmukan silmukassa.

C ++: ssa on useita "for" -silmukkavariaatioita, joiden tarkoitus on lisätä sen käytettävyyttä, tehoa ja joustavuutta. Esimerkiksi for-silmukka antaa meille mahdollisuuden käyttää useampaa kuin yhtä muuttujaa silmukan sisällä sen hallitsemiseksi ja konvergointitoiminnon käyttöä 'for' -silmukan kanssa. Toisaalta silmukka-silmukalla emme voi käyttää monia muunnelmia, joita on käytettävä vakiosyntaksin kanssa.

Silmukoiden välillä ja niiden välillä on joitain suuria eroja, jotka selitetään tarkemmin vertailutaulun avulla.


  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteetvarten sillä aikaa
ilmoitusfor (alustus; kunto; iteraatio) {
// silmukan runko
}
kun taas (ehto) {
lausumat; // silmukan runko
}
MuotoAlustaminen, tilan tarkistaminen, iterointilausunto kirjoitetaan silmukan yläosaan.Vain alustus ja kunnon tarkistus tehdään silmukan yläosassa.
KäyttääFor-silmukkaa käytettiin vain, kun tiesimme jo iteraatioiden määrän.Sillä aikaa silmukkaa käytetään vain silloin, kun iteraation määrää ei tunneta tarkalleen.
KuntoJos ehtoa ei ole asetettu silmukkaan, silmukka iteroi äärettömän monta kertaa.Jos ehtoa ei ole asetettu silmukan aikana, se aiheuttaa käännösvirheen.
alustusSilmukassa suoritettua alustamista ei koskaan toisteta.Jos alustus tehdään olosuhteiden tarkistuksen aikana silmukan silmukassa, silloin alustus tehdään aina, kun silmukka iteroituu.
Iteraation lausuntoSillä silmukka iterointi kirjoitetaan ylhäällä, joten suorittaa vasta kun kaikki silmukan lauseet on suoritettu.Vaikka silmukka, iterointikäsky voidaan kirjoittaa mihin tahansa silmukkaan.


Määritelmä silmukalle

Java-ohjelmassa on kahta muotoa varten silmukoita. Ensimmäinen muoto on ”perinteinen” muoto ja toinen on ”jokaiselle”.

Syntaksi

Perinteinen silmukkalausuman muoto.

for (alustus; ehto; iteraatio) {// silmukan runko}

  • alustus - Silmukan silmukkaa ohjaavan muuttujan alustus suoritetaan vain kerran, silmukan ensimmäisen iteraation aikana. Tässä silmukan ohjausmuuttuja alustetaan, joskus silmukkamuuttujaa ei käytetä uudelleen missään ohjelmassa ja sitä käytetään vain silmukan ohjausmuuttujana, niin se sekä ilmoitetaan että alustetaan 'for' -silmukassa.
  • Kunto - '-silmukan ehto suoritetaan joka kerta, kun silmukka toistetaan.
  • Kasvu ja toisto- Iterointilausunto on lauseke, joka lisää tai pienentää silmukkaa ohjaavaa muuttujaa.

Aina silmukka suoritetaan, sen alustusolosuhde suoritetaan ensin; sitten kunto tarkistetaan. Jos ehto täyttyy, silmukan runko suoritetaan, niin iterointikäsky suoritetaan. Sitten kunto tarkistetaan jälleen, jotta saadaan selville, jatkaako silmukka edelleen vai päättyykö se.

Java-sovelluksessa alustuslausunto ja iterointikäsky voivat sisältää useamman kuin yhden lauseen. Jokainen lauseke erotetaan toisistaan ​​pilkulla, Java-järjestelmässä pilkku on erotin, kun taas C ++: ssa “pilkku” on operaattori, jota voidaan käyttää missä tahansa kelvollisessa lausekkeessa.

jokaiselle silmukalle ja sen syntaksille

"Jokaiselle" -lomake on parannettu silmukalle. Kummankin silmukan yleinen muoto on seuraava.

(kirjoita iter_variable: kokoelma) käskylohkoon

Tässä "tyyppi" määrittelee iteraatiomuuttujan tyypin, jota seuraa iteraatiomuuttuja. Iterointimuuttuja vastaanottaa elementin keräysmuuttujalta. Tyypin on oltava sama kuin kokoelmamuuttujaan tallennettujen elementtityyppi. Jokainen silmukan muoto automatisoi silmukan iteraation aloittamisesta loppuun arvojen käyttämiseen peräkkäisessä järjestyksessä.

esimerkki

Silmukassa käytetään erityyppisiä mallistoja. Keskustelemme siitä taulukon kanssa kokoelmana.

julkisen luokan pää {julkinen staattinen tyhjä pää (merkkijonot) {int-ryhmä = {10, 20, 30, 40, 50, 60}; int add = 0; for (int c: array) {System.out.ln ("arvo c: ssä" + c); add = add + c; } System.out.ln ("taulukkoelementtien lisäys on" + lisää); }} // lähtöarvo c 10 -arvoa c 20 -arvoa c 30-arvoa c 40 -arvoa c 50 -arvoa c 60 -arvon lisäyksessä taulukkoelementtejä on 210

Tässä c on iterointimuuttuja; se vastaanottaa arvot taulukosta, yksi kerrallaan, taulukon alimmasta indeksistä korkeimpaan indeksiin. Tässä silmukka toistuu, kunnes kaikki taulukon elementit tutkitaan. Silmukka on mahdollista lopettaa käyttämällä “break”. Toistokertoimen muutos ei kuitenkaan vaikuta taulukkoon, koska se on vain luku -muuttuja.

Määritelmä silmukka

sillä aikaa silmukka on tärkein käytettävissä oleva silmukka C ++: ssa ja Java: ssa. Jonkin aikaa silmukka toimii samalla tavalla sekä C ++: ssa että Java: ssa.

Syntaksi

Jonkin aikaa olevan silmukan ilmoitus on seuraava

while (ehto) {lausunnot; // silmukan runko}

Vaikka silmukka tarkistaa aluksi ehdon ja suorittaa sitten lausunnot, kunnes ehto in silmukka osoittautuu totta. Silmukan olosuhde voi olla mikä tahansa boolean lauseke. Kun lauseke palauttaa arvon, joka ei ole nolla, silloin ehto on totta, ja jos lauseke palauttaa nollan arvon, ehto muuttuu vääriksi.

Jos ehto toteutuu, silmukka iteroi itsensä, ja jos ehto muuttuu vääriksi, ohjaus siirtyy koodin seuraavalle riville, jota seuraa silmukka. Lauseet tai runko-osa voi olla joko tyhjä lause tai yksittäinen lause tai lauseiden ryhmä.

esimerkki

Keskustelemme hetken silmukan toiminnasta. Alla olevassa esimerkissä koodi on välillä 1-10.

// esimerkki on Java. public class Main {julkinen staattinen tyhjä main (merkkijonot) {int n = 0; kun taas (n <10) {n ++; System.out.ln ("n =" + n); }}} // lähtö n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Tässä n-arvon alkuarvo on 0, mikä tekee olosuhteissa olosuhteiden olosuhteista totta. Ohjaus tulee sitten jonkin silmukan runkoon ja arvon 'n' arvoa lisätään jonkin silmukan rungon ensimmäisen lauseen mukaisesti. 'N' -arvoa editoidaan, sitten säädin palaa tilaan jonkin aikaa silmukassa, nyt arvo 'n' on 1, joka jälleen täyttää ehdon, ja silmukan runko suoritetaan uudelleen. Tämä jatkuu, kunnes ehto on totta, heti kun tila muuttuu vääriksi, silmukka lopetetaan.

Kuten 'for' -silmukka, 'while' -silmukka voi myös alustaa ohjausmuuttujan silmukan yläosasta, ts. Kuntotarkastuksen aikana.

// esimerkiksi kun ((ch = getchar ()) = A) {System.out.ln ("Syöttöaakkoset" + ch); }

Tässä alustetaan ohjausmuuttuja 'ch', ja silmukan kunto varmennetaan silmukan yläosassa.

merkintä:

Voisiko se olla silmukka tai jonkin aikaa, jos silmukan rungossa on vain yksi lause, kihara-aukkoja ei vaadita tässä tilassa.

  1. Sisään varten silmukka, alustaminen, tilan tarkistaminen ja iteraatiomuuttujan lisääminen tai pienentäminen tehdään nimenomaisesti vain silmukan syntaksissa. Kuten vastaan, sillä aikaa silmukka, voimme vain alustaa ja tarkistaa kunnon silmukan syntaksissa.
  2. Kun tiedämme toistojen lukumäärän, jonka on tapahduttava silmukan suorittamisessa, niin käytämme varten silmukka. Toisaalta, jos emme tiedä silmukassa tapahtuvan iteraation määrää, niin käytämme sillä aikaa silmukka.
  3. Jos et laita ehtolauseketta varten silmukka, se johtaa silmukan äärettömään toistoon. Sitä vastoin, jos et laita ehtolauseketta sillä aikaa silmukka, se johtaa käännösvirheeseen.
  4. Alustuslausunto syntaksissa varten silmukka suorittaa vain kerran silmukan alussa. Ja päinvastoin sillä aikaa silmukassa on alustuslausunto syntaksissaan, silloin silmukan silmukan alustuslausunto suoritetaan joka kerta, kun silmukka toistuu.
  5. Iteraation lausunto varten silmukka suoritetaan sen jälkeen, kun silmukka suoritetaan. Päinvastoin, iterointilausunto voidaan kirjoittaa mihin tahansa kohtaan sillä aikaa silmukka, joten voi olla joitain lauseita, jotka suoritetaan iterointikäskyn suorittamisen jälkeen while-silmukan rungossa.

johtopäätös:

For-silmukka ja silmukka ovat molemmat iteraatiolausekkeita, mutta molemmilla on erillinen ominaisuus. For-silmukalla on kaikki sen ilmoitukset (alustus, kunto, iteraatio) silmukan rungon yläosassa. Toisaalta, kun taas silmukassa vain alustus ja kunto ovat silmukka rungon yläosassa, ja iterointi voidaan kirjoittaa mihin tahansa silmukan runkoon.