Skirtumas tarp ir kilpos

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 10 Gegužė 2024
Anonim
Популярная балаклава с ушками медведя из Alize Puffy. Тренд Tik-Tok
Video.: Популярная балаклава с ушками медведя из Alize Puffy. Тренд Tik-Tok

Turinys


„C ++“ ir „Java“ kartotiniuose sakiniuose, skirtuose kilpoms, o kilpa ir darant ciklą, nurodymų rinkinys gali būti pakartotinai vykdomas, kol sąlyga yra teisinga ir baigiasi, kai tik ji tampa klaidinga. Sąlygos iteracijos sakiniuose gali būti iš anksto apibrėžtos, kaip ir cikle, arba atvirojo tipo, kaip ir kilpoje.

Norint padidinti jo pritaikomumą, galią ir lankstumą, numanomi keli „už“ ciklo variantai. Pvz., „For loop“ leidžia mums naudoti daugiau nei vieną kintamąjį kilpos viduje, kad jį valdytume, ir naudoti suartinimo funkciją su „for“ kilpa. Ir atvirkščiai, esant kilpai, mes negalime naudoti daugybės variantų, kurie turi būti naudojami su standartine sintaksė.

Yra keletas pagrindinių skirtumų tarp ir tarp kilpų, o kai kurie - tai paaiškinta toliau palyginimo diagramos pagalba.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasdėl kol
Deklaracijafor (inicializacija; sąlyga; iteracija) {
// kilpos korpusas
}
o (sąlyga) {
teiginiai; // kilpos kūnas
}
FormatasInicijavimas, būklės patikrinimas, iteracijos teiginys rašomi kilpos viršuje.Tik inicijavimas ir būklės patikrinimas atliekamas kilpos viršuje.
Naudokite„For“ kilpa naudojama tik tada, kai jau žinojome pakartojimų skaičių.Tuo tarpu kilpa naudojama tik tada, kai iteracijos skaičius nėra tiksliai žinomas.
BūklėJei sąlyga nenustatyta už kilpos, tada kilpa kartojasi begalinį laiką.Jei sąlyga nenustatyta kilpos metu, pateikiama kompiliavimo klaida.
PradėjimasAtlikta inicializacija niekada nekartojama kilpoje.Kai inicializacija atliekama ciklo metu, kai tikrinamos sąlygos, tada inicializacija atliekama kiekvieną kartą, kai kilpa kartojasi.
Iteracijos teiginysTaigi kilpos iteracija yra parašyta viršuje, taigi vykdoma tik po to, kai bus įvykdyti visi kontūro teiginiai.Kai ciklas yra, iteracijos teiginį galima parašyti bet kurioje kilpos dalyje.


Apibrėžimas kilpa

„Java“ yra dvi formos dėl kilpos. Pirmoji forma yra „tradicinė“, o antroji - „kiekvienam“.

Sintaksė

Bendroji tradicinio sąsajos formos forma.

for (inicializacija; sąlyga; iteracija) {// for of loop}

  • Pradėjimas - Kilpos, kontroliuojančios kilpą, kintamasis inicializuojamas tik vieną kartą, per pirmą kartojimą. Čia inicijuojamas kilpą valdantis kintamasis, kartais, jei kilpos kintamasis nebenaudojamas niekur programoje ir yra naudojamas tik kaip kontūro kontrolinis kintamasis, tada jis deklaruojamas ir inicijuojamas kilpoje „už“.
  • Būklė - „Už“ kilpos sąlyga įvykdoma kiekvieną kartą, kai linija kartojama.
  • Padidėjimas ir iteracija- iteracijos teiginys yra išraiška, kuri padidina arba sumažina kilpą valdantį kintamąjį.

Kai vykdoma kilpa, pirmiausia vykdoma jos inicijavimo sąlyga; tada patikrinama būklė. Jei sąlyga įvykdyta, vykdomas kilpos korpusas, tada vykdomas iteracijos teiginys. Tada dar kartą patikrinama sąlyga, kad žinotumėte, ar kilpa pasikartos toliau, ar pasibaigs.


„Java“ programoje inicializacijos ir iteracijos teiginiai gali apimti daugiau nei vieną sakinį. Kiekvienas teiginys yra atskirtas kableliais, „Java“ kablelis yra skiriamasis ženklas, o C ++ atveju „kablelis“ yra operatorius, kurį galima naudoti bet kuria galiojančia išraiška.

kiekvienai kilpai ir jos sintaksei

Forma „kiekvienam“ yra patobulinta, norint naudoti kilpą. Bendra kiekvienos kilpos forma yra tokia.

(tipo iter_variable: kolekcija) teiginių blokui

Čia „tipas“ nurodo iteracijos kintamojo tipą, po kurio seka iteracijos kintamasis. Iteracijos kintamasis gaus elementą iš kolekcijos kintamojo. Tipas turi būti toks pat kaip elementų, saugomų kolekcijos kintamajame, tipas. Kiekvienai kilpos formai automatizuojamas kilpos iteravimas nuo pradžios iki pabaigos, norint pasiekti reikšmes eilės tvarka.

Pavyzdys

Yra įvairių rūšių kolekcija, naudojama kilpoms. Aptarsime tai su rinkiniu kaip masyvą.

viešos klasės pagrindinis {viešas statinis tuštumos pagrindinis (stygos argos) {intarpa = {10, 20, 30, 40, 50, 60}; int pridėti = 0; for (int c: masyvas) {System.out.ln ("reikšmė c" + c); pridėti = pridėti + c; } System.out.ln („masyvo elementų papildymas yra“ + pridėti); }} // išvesties vertė c ​​10 vertės c 20 vertės c 30 vertės c 30 vertės c 40 vertės c 50 vertės c 60 masyvo elementų papildymo vertės yra 210

'C' yra iteracijos kintamasis; jis gauna reikšmes iš masyvo, po vieną, nuo žemiausio iki aukščiausio indekso masyve. Čia kilpa kartojasi tol, kol ištiriami visi masyvo elementai. Galima nutraukti kilpą tarp jų naudojant „pertrauką“. Tačiau iteracijos kintamojo pakeitimas nedaro įtakos masyvui, nes tai yra tik skaitomas kintamasis.

„Kilpos“ apibrėžimas

kol kilpa yra pati svarbiausia C ++ ir „Java“ tinkle. Tam tikro ciklo veikimas yra panašus tiek C ++, tiek „Java“.

Sintaksė

Tam tikros kilpos deklaracija yra tokia

o (sąlyga) {teiginiai; // kilpos korpusas}

Kol kilpa iš pradžių patikrina būklę ir tada vykdo teiginius, kol sąlyga yra, kol kilpa pasirodys teisinga. Sąlyga, kol kilpa gali būti bet kokia loginė išraiška. Kai išraiška grąžina bet kokią nulinę reikšmę, tada sąlyga yra tiesa, o jei išraiška grąžina nulinę vertę, sąlyga tampa klaidinga.

Jei sąlyga tampa tiesa, tada kilpa kartojasi pati, o jei sąlyga tampa klaidinga, tada valdymas pereina į kitą kodo eilutę, kurią iškart seka kilpa. Teiginiai arba pagrindinė kilpa gali būti tuščias teiginys arba atskiras teiginys arba teiginių blokas.

Pavyzdys

Aptarkime tam tikro ciklo veikimą. Žemiau pateiktame pavyzdyje kodas bus nuo 1 iki 10.

// pavyzdys yra Java. public class Main {viešas statinis tuštumos pagrindinis (stygos argos) {int n = 0; tuo tarpu (n <10) {n ++; „System.out.ln“ („n =“ + n); }}} // išvestis n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10

Pradinė „n“ reikšmė yra 0, o tai reiškia, kad būklės cikle būsena yra teisinga. Tada valdiklis įvedamas į tam tikros linijos kilpą ir „n“ reikšmė padidinama pagal pirmąjį poslinkio, esančio trumpojo ciklo kūne, reikšmę. Redaguojama „n“ reikšmė, tada valdiklis tam tikru ciklu grįžta į būseną, dabar „n“ reikšmė yra 1, kuri vėl patenkina sąlygą, o kilpos korpusas vėl vykdomas. Tai tęsiasi tol, kol sąlyga yra teisinga, kai tik būklė tampa klaidinga, kilpa nutraukiama.

Kaip ir „už“ kilpa, „o“ kilpa taip pat gali inicijuoti valdymo kintamąjį kilpos viršuje, t. Y. Tikrinant būklę.

// pvz., while ((ch = getchar ()) = = A) {System.out.ln ("Įvesties abėcėlė" + ch); }

Čia inicijuojamas valdymo kintamasis „ch“, o kilpos būklė patikrinama kilpos viršuje.

Pastaba:

Tai gali būti kilpa arba tam tikra kilpa, jei kilpos kūne yra tik vienas teiginys, tokios būklės garbanos nėra būtinos.

  1. Į dėl kilpa, iniciacija, būklės tikrinimas ir iteracijos kintamojo padidinimas ar sumažinimas atliekamas aiškiai tik kilpos sintaksėje. Kaip prieš kol ciklą mes galime tik inicijuoti ir patikrinti būklę kilpos sintaksėje.
  2. Kai mes žinome apie pakartojimų skaičių, kurie turi įvykti vykdant kilpą, tada mes naudojame dėl kilpa. Kita vertus, jei mes nežinome, kiek iteracijų turi įvykti kilpoje, tada mes naudojame kol kilpa.
  3. Jei nepateikiate sąlygos pareiškimo dėl kilpa, tai sukels begalinę kilpos pakartojimą. Jei nepateiksite sąlygos pareiškimo į kol kilpa sukels kompiliavimo klaidą.
  4. Iniciacijos teiginys sintaksėje dėl kilpa vykdoma tik vieną kartą kilpos pradžioje. Priešingai, jei kol ciklo sintaksėje yra inicializacijos teiginys, tada inicializacijos teiginys tuo tarpu kilpoje bus vykdomas kiekvieną kartą, kai kilpa kartosis.
  5. Iteracijos teiginys dėl kilpa bus vykdoma po to, kai korpusas vykdys kilpą. Atvirkščiai, iteracijos teiginį galima parašyti bet kur kol kilpa, taip pat gali būti keletas teiginių, kurie vykdomi po iteracijos teiginio vykdymo tuo tarpu, kai kilpa.

Išvada:

Tiek „for loop“, tiek „loop“ yra iteracijos sakinys, tačiau abu turi savo išskirtinumą. Visos kilpos deklaracija (iniciacija, sąlyga, iteracija) yra kilpos viršutinėje dalyje. Ir atvirkščiai, kol kilpos viršutinėje dalyje yra tik iniciacija ir būsena, o iteracija gali būti užrašyta bet kurioje kilpos dalyje.