Kā lietot for-each cilpas Java valodā
Ar for-each Java cilpu var ātrāk un drošāk pārskatīt masīvus un kolekcijas, izvairīties no kļūdām un uzlabot koda lasāmību. Šajā apmācībā mēs sīkāk izskaidrojam for-each metodes struktūru un priekšrocības, kā arī parādām, kā izmantot cilpu savā kodā.
Kādam nolūkam tiek izmantota Java cikla for-each?
For-each cilpa tiek izmantota daudzos scenārijos, kad Java izstrādātājiem ir jāstrādā ar masīviem. Piemēram, bieži to izmanto, lai izvadītu vai meklētu konkrētus masīva elementus. For-each cilpu var izmantot arī, lai iterētu elementus sarakstā, kas īstenots kā ArrayList. Katrā iterācijā var veikt automātiskas manipulācijas ar vispārējiem Java operatoriem, neizstrādājot atsevišķu izteikumu katram elementam.
Atšķirībā no for cilpas Java, kad izmantojat for-each Java cilpu, jums nav jāņem vērā masīva indekss vai izmērs. Tā kā nav jāņem vērā šie aspekti, jūs izvairāties no riska, ka indekss varētu būt ārpus derīgā diapazona. For-each cilpa iekšēji izmanto iteratoru, lai izsauktu katru masīva vai saraksta elementu pa vienam. Iterators automātiski skaita masīvu vai sarakstu un pārtrauc cilpu, kad visi elementi ir izietuši.
Ja tomēr jums ir nepieciešams piekļūt indeksam, lai rediģētu nākamo vai iepriekšējo elementu, varbūt ir lietderīgāk izmantot for ciklu vai while ciklu.
Kāda ir Java cikla for-each sintakse?
Java valodā for-each cikla pamata sintakse izskatās šādi:
for (type item : array | collection) {
// code block
}Javaarray/collection: Masīva vai kolekcijas nosaukumsitem: Katrs masīva vai kolekcijas elements tiek piešķirts šai mainīgajaitype: Masīva vai kolekcijas datu tips
Cikla iekšienē koda bloks tiek izpildīts katrā iterācijā.
Piemēri, kā izmantot for-each Java cilpu
Zemāk parādīsim, kā izmantot for-each metodi, izmantojot ekrāna izvadi un aritmētiskās operācijas.
Elementu izvade uz konsoli
Izmantojot for-each cilpu, varat ekrānā parādīt katru masīva vai kolekcijas elementu.
class Main {
public static void main(String[] args) {
// array
String[] names = {"Sophie", "Mia", "Harrison", "Elliot", "Melissa"};
// for each loop
for (String name: names) {
System.out.println(name);
}
}
}
In the console, we get the output:
```Java
Sophie
Mia
Harrison
Elliot
MelissaJavaIr iespējams arī analogiski izvadīt saraksta elementus. Cikla avota kods paliek nemainīgs.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// list
ArrayList<String> names = new ArrayList<String>();
names.add( "Sophie" );
names.add( "Mia" );
names.add( "Harrison" );
names.add( "Elliot" );
names.add( "Melissa" );
// for each loop
for(String name: names){
System.out.println(name);
}
}
}JavaKatram vārdam no saraksta tiek ģenerēta virkne:
Sophie
Mia
Harrison
Elliot
MelissaJavaElementu summas aprēķināšana masīvā vai kolekcijā
Java metode for-each atvieglo aritmētisko darbību veikšanu, piemēram, elementu pievienošanu masīvā vai sarakstā. Operatori ir saistīti ar mainīgo, kas kalpo kā vietas turētājs katram elementam cilpas koda blokā.
class Main {
public static void main(String[] args) {
// array
int[] numbers = {10, 34, 7, 19, -28};
int sum = 0;
// addition
for (int number: numbers) {
sum += number;
}
System.out.println("Result = " + sum);
}
}JavaMasīva skaitļi tiek secīgi pievienoti mainīgajam sum, kas iepriekš tika deklarēts ārpus cilpas. Rezultāts ir:
Result = 42Java22521435b1ac7a57243924ad4925f3b8
4e3f99762c00e5fd885e501519891687
e7dcb55429a1ad05a2d26d997b010049
03a997ae1adf78a8b72f58f1bb60ea2d
8114a48b3d0cf8b4911ba3648d3112e2
1f594c892e18b0d8d2a96ba221bd3900