Iga java silmuse jaoks - erinevate tingimuste kasutamine - Näited

Lang L: none (table-of-contents):

Anonim

Sissejuhatus Java-silmustesse

Iga silmuse jaoks on Java kasutusele võetud alates JDK 5-st. Selle eesmärk on iteratsiooni järjestikku kogu kollektsiooni või massiivi kõigi elementide kaudu. See on olemas ka teistes keeltes, näiteks C #, kus ta kasutab märksõna igaühe jaoks. Kuid Java kasutab märksõna "for" ainult iga silmuse rakendamiseks, erinevalt C #, kuid selle süntaks erineb silmuse tavapärasest. Seda mõlemat silmust nimetatakse Java jaoks ka täiustatud silmuse jaoks.

Süntaks

for(type iter_var : Collection) statement_block

Kõigi ülaltoodud mõistete seletused on järgmised:

  1. 'tüüp' tähistab süsteemi objektide andmetüüpi;
  2. 'iter_var' tähistab iteratsioonimuutuja nime, mis talletab kogu iga väärtuse, kui iteratsiooni läbi silmuse läbi teeme.
  3. 'Kogumine' täpsustab kogumit või massiivi, mille kaudu me tahame korrata.
  4. 'avalduseplokk' on avalduste komplekt, mida tahame täita iga silmuse kordamise korral.

On oluline märkida, et iga silmus pääseb järjestikku kogumi / massiivi elementide juurde, kus see salvestab iteratsioonimuutuja iga elemendi väärtuse. Järgnevalt on toodud iga silmuse vooskeem.

Nagu olete märganud, on silmuse ja iga silmuse vahel teatud peened erinevused. Loopi jaoks tuleb iteratsioonide arv eelnevalt kindlaks määrata. Kuid see ei kehti iga silmuse kohta, kuna silmus kordub kogumise / massiivi esimesest elemendist viimase elemendini ega vaja iteratsioonide arvu täpsustamist.

Oluline on meeles pidada, et iga silmuse jaoks määratud tüüp peab vastama kollektsiooni elementide tüübile, sest vastasel juhul tekivad ühilduvusprobleemid.

Näited

Silmuse jaoks

Andkem meile silmuskontrolli kasutavate inimeste rühma keskmine vanus:

Kood

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));
)
)

Väljund:

Iga silmuse jaoks

Inimeste grupi keskmise vanuse leidmiseks iga silmuse abil toimige järgmiselt.

Kood

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));
)
)

Väljund:

Väljund on sama, kasutades mõlemat silmust, nagu ülaltoodud joonistel näha.

Foreach silmus, kasutades Break Statement

Katkestuse abil on võimalik vähendada iga silmuse iteratsioonide arvu. Näiteks kui tahame leida ainult 5 esimese elemendi summat, saame kasutada katkestuslauset järgmiselt:

Kood

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);
)
)

Väljund:

Ülalnimetatud silmuse jaoks x on iteratsioonimuutuja, mis salvestab massiivi ühe elemendi iteratsiooni kohta, mis muutub järgmisel iteratsioonil. Esimeses iteratsioonis salvestab x massiivi esimese elemendi ja massiivi viimase elemendi viimases iteratsioonis. Erinevalt silmusest, kus pääsete massiivi elementide juurde indeksi abil, kasutab iga silmus elementide juurde pääsemiseks iteratsioonimuutujat.

Iga silmuse kasutamisel tuleb olla ettevaatlik, kuna iteratsioonimuutuja salvestab massiivi elemendi väärtuse ajutiselt, kuna see on kirjutuskaitstud ja selle väärtuse muutmine ei muuda algset massiivi. See on vastuolus silmusega, kus elemendi muutmine muudab algset massiivi.

Vaatleme näidet, kus lisame massiivi igale elemendile 5. Väljundi erinevuse saame märgata järgmises näidiskoodis:

Erineva tingimusega silmuse jaoks

Kood

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)+" ");
)
)
)

Väljund:

Silmuse väljund, mis näitab algse massiivi suurendamist

Foreach silmus erineva tingimusega

Kood

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+" ");
)
)
)

Väljund:

Iga silmuse väljund, mis näitab, et algne massiiv pole suurenenud

Iga javas oleva silmuse jaoks meelde tuletavad asjad

  1. Iga java silmuse jaoks kasutatakse massiivi / kogumiselementide iteratsiooni jadana.
  2. Iga java silmuse jaoks kasutatakse iteratsioonimuutujat, et itereeruda kogu elementide kogumi või massiivi kohal.
  3. Kordusmuutuja muutmine ei muuda algset massiivi / kollektsiooni, kuna see on kirjutuskaitstud.
  4. Iga silmuse tüüp peab vastama algse massiivi / kogumiselementide tüübile.
  5. Foreach silmus ei vaja iteratsioonide arvu täpsustamist, kuna see kordub kogu kollektsiooni kõigi elementide korral.
  6. Iga silmuse jaoks on võimalik katkestuslause abil peatada.

Soovitatavad artiklid

See on javas oleva silmuse For-Iga juhend. Siin arutatakse javas olevat For-Iga silmust koos selle koodi rakendamisega erinevatel viisidel, näiteks koos pausideklaratsiooni ja erinevate tingimustega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Prindimassiivi Java
  2. Lingid Java programmeerimises
  3. Kuigi Loop Java
  4. 3D-massiivid Java-s
  5. Java juurutustööriistad
  6. 3D-massiivid C ++ -s
  7. Loopi jaoks C-s
  8. Massiivid Java programmeerimises