Johdanto Java-jokaiselle silmukalle
Jokaiselle silmukalle on otettu Java käyttöön alkaen JDK 5: stä. Sen tarkoituksena on toistaa peräkkäin kokoelman tai taulukon kaikkien elementtien läpi. Se on olemassa myös muilla kielillä, kuten C #, jossa se käyttää avainsanaa jokaiselle. Java käyttää kuitenkin avainsanaa "vain" vain kunkin silmukan toteuttamiseksi toisin kuin C #, mutta sen syntaksi eroaa silmukan tavanomaisesta. Tätä kutakin silmukkaa kutsutaan myös parannetuksi silmukkaa varten Java-järjestelmässä.
Syntaksi
for(type iter_var : Collection) statement_block
Kullekin edellä käytetyille termeille selitys on seuraava:
- 'tyyppi' ilmaisee objektin tietotyyppiä
- 'iter_var' ilmaisee iterointimuuttujan nimen, joka tallentaa kokoelman jokaisen arvon iteroidessaan silmukan läpi.
- 'Kokoelma' määrittelee kokoelman tai taulukon, jonka kautta haluamme iteroida.
- 'lause-lohko' on joukko lauseita, jotka haluamme suorittaa jokaiselle silmukan iteraatiolle.
On välttämätöntä huomata, että jokaiselle silmukalle pääsee keräys- / matriisielementtejä peräkkäin, kun se tallentaa kunkin elementin arvon iterointimuuttujaan. Seuraava on kunkin silmukan vuokaavio.
Kuten huomasit, silmukan ja jokaisen silmukan välillä on tiettyjä hienoisia eroja. Silmukka vaatii toistojen lukumäärän määrittämisen etukäteen. Tämä ei kuitenkaan ole tilanne jokaiselle silmukalle, koska silmukka iteroi ensimmäisestä elementistä kokoelman / taulukon viimeiseen elementtiin eikä tarvitse iteraatioiden lukumäärää määritellä.
Tärkeä huomioitava seikka on, että jokaiselle silmukalle määritetyn tyypin on vastattava kokoelman elementtityyppiä, koska muuten siinä on yhteensopivuusongelmia.
esimerkit
Silmukalle
Tarkastellaan silmukkaa käyttävien ihmisryhmien keski-ikää:
Koodi
public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int sum = 0;
System.out.print("Ages of the group are : "); for (int i = 0; i < 10 ; i++)
(
System.out.print(ages(i)+" "); sum += ages(i);
)
System.out.println("\n Average age of the group = " + (sum/10));
)
)
lähtö:
Jokaiselle silmukalle
Jokaiselle silmukalle käyttävän ihmisryhmän keski-iän selvittäminen:
Koodi
public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int sum = 0;
System.out.print("Ages of the group are : "); for (int x : ages)
(
System.out.print(x+" "); sum += x;
)
System.out.println("\n Average age of the group = " + (sum/10));
)
)
lähtö:
Lähtö on sama käyttämällä molempia silmukoita, kuten yllä olevista kuvista nähdään.
Foreach silmukka Break-lausunnon avulla
On mahdollista vähentää jokaiselle silmukalle kuuluvien iteraatioiden lukumäärää katkaisulausekkeen avulla. Esimerkiksi, jos haluamme löytää vain viiden ensimmäisen elementin summan, voimme käyttää tauonlaskua seuraavasti:
Koodi
public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int ctr = 0, sum = 0;
System.out.print("Ages of the group are : "); for (int x : ages)
(
System.out.print(x+" ");
)
for (int x : ages)
(
if (ctr == 5) break; sum += x;
ctr += 1;
)
System.out.println("\nSum of age of first 5 people of the group = " + sum);
)
)
lähtö:
Jokaisessa edellä mainitussa silmukassa x on iterointimuuttuja, joka tallentaa taulukon yhden elementin iteraatiota kohti, joka muuttuu seuraavassa iteraatiossa. Ensimmäisessä iteraatiossa x tallentaa taulukon ensimmäisen elementin ja taulukon viimeisen elementin viimeiseen iteraatioon. Toisin kuin silmukka, jossa pääsemme taulukon elementteihin hakemiston avulla, jokainen silmukka käyttää iterointimuuttujaa elementtien käyttämiseen.
Kunkin silmukan käytössä on oltava varovainen, koska iterointimuuttuja tallentaa taulukkoelementin arvon väliaikaisesti, koska se on vain luku -tyyppinen ja arvon muuttaminen ei muuta alkuperäistä taulukkoa. Tämä on ristiriidassa silmukan kanssa, jossa elementin muuttaminen muuttaa alkuperäistä taulukkoa.
Tarkastellaan esimerkkiä, jossa lisäämme 5 jokaiselle taulukon elementille. Voimme havaita tuloksen eron seuraavassa esimerkikoodissa:
Silmukalle, jolla on erilaiset olosuhteet
Koodi
public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
System.out.print("Elements of the array are : "); for (int i = 0; i < 10; i++)
(
System.out.print(ages(i)+" "); ages(i)+= 5;
)
System.out.print("\nNew elements of the array are : "); for (int i = 0; i < 10; i++)
(
System.out.print(ages(i)+" ");
)
)
)
lähtö:
Lähtö silmukalle, joka näyttää alkuperäisen matriisin ylöspäin
Foreach silmukka erilaisella kunnolla
Koodi
public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
System.out.print("Elements of the array are : "); for (int x : ages)
(
System.out.print(x+" "); x += 5;
)
System.out.print("\nNew elements of the array are : "); for (int x : ages)
(
System.out.print(x+" ");
)
)
)
lähtö:
Jokaisen silmukan lähtö osoittaa, ettei alkuperäisen taulukon päivitys ole
Muistettavat asiat jokaiselle Java-silmukalle
- Jokaiselle Java-silmukalle käytetään iteraatiota sarja- / keräyselementtien läpi sarjassa.
- Jokainen Java-silmukka käyttää iterointimuuttujaa iteroimaan kokoelman tai elementtiryhmän yli.
- Toistokertoimen muuttaminen ei muuta alkuperäistä taulukkoa / kokoelmaa, koska se on vain luku -tyyppinen.
- Kunkin silmukan tyypin on vastattava alkuperäisen ryhmän / keräyselementtityyppiä.
- Foreach-silmukka ei tarvitse iterointien lukumäärää määritellä, koska se toistaa kokoelman kaikkia elementtejä.
- Jokaiselle silmukalle on mahdollista pysäyttää katkaisulauseke.
Suositellut artikkelit
Tämä on opas javan jokaisen silmukan silmukasta. Tässä keskustellaan java-palvelun silmukoista ja sen koodin toteutuksesta eri tavoin, esimerkiksi katkaisulausekkeen ja erilaisten olosuhteiden kanssa. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -
- Tulosta Array Java
- Silmukoita Java-ohjelmoinnissa
- Vaikka Loop Java
- 3D-taulukot Java-tilassa
- Java-asennustyökalut
- 3D-taulukot C ++: ssa
- C: n silmukalle
- Ryhmät Java-ohjelmoinnissa