Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java“ kiekvienai kilpai ir jos skirtumą su „loop“.
„Java“ programoje „ for-each“ kilpa naudojama kartojant masyvų ir kolekcijų elementus (pvz., „ArrayList“). Jis taip pat žinomas kaip patobulintas kilpui.
kiekvienam „Loop Sytnax“
Kiekvienos kilpos „ Java“ sintaksė yra:
for(dataType item : array) (… )
Čia
- masyvas - masyvas arba kolekcija
- elementas - kiekvienas masyvo / kolekcijos elementas priskiriamas šiam kintamajam
- dataType - masyvo / rinkinio duomenų tipas
1 pavyzdys: spausdinti masyvo elementus
// print array elements class Main ( public static void main(String() args) ( // create an array int() numbers = (3, 9, 5, -5); // for each loop for (int number: numbers) ( System.out.println(number); ) ) )
Rezultatas
3 9 5 -5
Čia mes naudojome „ for-each“ kilpą, norėdami atspausdinti kiekvieną skaičių masyvo elementą po vieną.
- Pirmajame kartojime elementas bus 3.
- Antroje iteracijoje punktas bus 9.
- Trečioje iteracijoje elementas bus 5.
- Ketvirtoje iteracijoje punktas bus –5.
2 pavyzdys: Masyvo elementų suma
// Calculate the sum of all elements of an array class Main ( public static void main(String() args) ( // an array of numbers int() numbers = (3, 4, 5, -5, 0, 12); int sum = 0; // iterating through each element of the array for (int number: numbers) ( sum += number; ) System.out.println("Sum = " + sum); ) )
Išvestis :
Suma = 19
Pirmiau pateiktoje programoje for each
ciklo vykdymas atrodo taip:
Kartojimas | Kintamieji |
---|---|
1 | skaičius = 3 suma = 0 + 3 = 3 |
2 | skaičius = 4 suma = 3 + 4 = 7 |
3 | skaičius = 5 suma = 7 + 5 = 12 |
4 | skaičius = -5 suma = 12 + (-5) = 7 |
5 | skaičius = 0 suma = 7 + 0 = 7 |
6 | skaičius = 12 suma = 7 + 12 = 19 |
Kaip matome, pridėjome kiekvieną skaičių masyvo elementą prie sumos kintamojo kiekvienoje kilpos iteracijoje.
už kilpą Vs už kiekvieną kilpą
Pažiūrėkime, kuo for-each
kilpa skiriasi nuo įprastos „Java for loop“.
1. Naudojant kilpą
class Main ( public static void main(String() args) ( char() vowels = ('a', 'e', 'i', 'o', 'u'); // iterating through an array using a for loop for (int i = 0; i < vowels.length; ++ i) ( System.out.println(vowels(i)); ) ) )
Išvestis :
aeiou
2. Naudojimas kiekvienai kilpai
class Main ( public static void main(String() args) ( char() vowels = ('a', 'e', 'i', 'o', 'u'); // iterating through an array using the for-each loop for (char item: vowels) ( System.out.println(item); ) ) )
Išvestis :
aeiou
Čia abiejų programų išvestis yra ta pati. Tačiau už kiekvieną kilpą lengviau parašyti ir suprasti.
Štai kodėl dirbant su masyvais ir kolekcijomis pirmenybė teikiama „ for- loop“, o ne „ for loop“.