Kako uporabljati zanke for-each v Javi
Z zanko for-each Java lahko hitreje in varneje prehajate med nizi in zbirkami, se izognete napakam in izboljšate berljivost kode. V tem vodiču podrobneje razložimo strukturo in prednosti metode for-each ter vam pokažemo, kako zanko uporabiti v svoji kodi.
Za kaj se uporablja Java zanka for-each?
Zanka for-each se uporablja v številnih scenarijih, v katerih morajo razvijalci Java delati z nizi. Pogosta uporaba je na primer izpis ali iskanje določenih elementov niza. Zanka for-each se lahko prav tako uporabi za ponavljanje elementov v seznamu, ki je implementiran kot ArrayList. V vsakem ponavljanju lahko izvajate avtomatske manipulacije s splošnimi Java operaterji, ne da bi morali za vsak element napisati ločeno izjavo.
V nasprotju z zanko for v Javi, ko uporabljate zanko for-each Java, vam ni treba upoštevati indeksa ali velikosti niza. Ker vam ni treba upoštevati teh vidikov, se izognete tveganju, da bi indeks presegel veljavno območje. Zanka for-each notranje uporablja iterator, da pokliče vsak element niza ali seznama po enega. Iterator samodejno prešteje niz ali seznam in zaključi zanko, ko so vsi elementi prehodeni.
Če pa potrebujete dostop do indeksa, da bi uredili naslednji ali prejšnji element, je morda bolj smiselno uporabiti zanko for ali zanko while.
Kakšna je sintaksa zanke for-each v Javi?
Osnovna sintaksa zanke for-each v Javi je naslednja:
for (type item : array | collection) {
// code block
}Javaarray/collection: Ime niza ali zbirkeitem: Vsak element niza ali zbirke je dodeljen tej spremenljivkitype: Podatkovni tip niza ali zbirke
Znotraj zanke se blok kode izvede za vsako iteracijo.
Primeri uporabe zanke for-each v Javi
Spodaj bomo prikazali, kako uporabiti metodo for-each z uporabo izpisa na zaslonu in aritmetičnih operacij.
Izpisovanje elementov na konzolo
Z uporabo zanke for-each lahko na zaslonu prikažete vsak element niza ali zbirke.
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
MelissaJavaElementi seznama se lahko izpišejo tudi analogno. Izvorna koda zanke ostane nespremenjena.
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);
}
}
}JavaZa vsako ime iz seznama se generira niz:
Sophie
Mia
Harrison
Elliot
MelissaJavaIzračunavanje vsote elementov v nizu ali zbirki
Java metoda for-each olajša izvajanje aritmetičnih operacij, kot je seštevanje elementov v nizu ali seznamu. Operacije so povezane s spremenljivko, ki služi kot zaznamek za vsak element znotraj kodnega bloka zanke.
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);
}
}JavaŠtevilke v nizu se zaporedno dodajo spremenljivki sum, ki je bila prej deklarirana zunaj zanke. Izhod je:
Result = 42Java22521435b1ac7a57243924ad4925f3b8
4e3f99762c00e5fd885e501519891687
e7dcb55429a1ad05a2d26d997b010049
03a997ae1adf78a8b72f58f1bb60ea2d
9eba89144054bf4e2a41543b2ef04360
4619bc6e67f87b408673955f20571c47