Java pre slučku
1. Prehľad
V tomto článku sa pozrieme na jadro jazyka Java - opakované vykonávanie príkazu alebo skupiny príkazov pomocou a pre slučka.
2. Jednoduché pre Slučka
A pre loop je riadiaca štruktúra, ktorá nám umožňuje opakovať určité operácie zvýšením a vyhodnotením počítadla slučky.
Pred prvou iteráciou sa inicializuje počítadlo slučiek, potom sa vykoná vyhodnotenie podmienky, po ktorom nasleduje definícia kroku (zvyčajne jednoduchá inkrementácia).
Syntax súboru pre slučka je:
for (initialization; Boolean-expression; step) statement;
Pozrime sa na jednoduchý príklad:
for (int i = 0; i <5; i ++) {System.out.println ("Jednoduché pre slučku: i =" + i); }
The inicializácia, Boolovský výraz, a krok použitý v pre vyhlásenia sú voliteľné. Tu je príklad súboru nekonečný pre slučku:
pre (;;) {// Nekonečné pre slučku}
2.1. Označené pre Slučky
Môžeme mať aj označené pre slučky. Je to užitočné, ak máme vnorené slučky, aby sme mohli prestávka/ďalej z nešpecifického pre slučka:
aa: for (int i = 1; i <= 3; i ++) {if (i == 1) continue; bb: for (int j = 1; j <= 3; j ++) {if (i == 2 && j == 2) {break aa; } System.out.println (i + "" + j); }}
3. Vylepšené pre Slučka
Od verzie Java 5 máme druhý druh pre slučka s názvom vylepšené pre ktoré uľahčuje opakovanie všetkých prvkov v poli alebo kolekcii.
Syntax súboru vylepšené pre slučka je:
pre výpis (Type item: items);
Pretože je táto slučka v porovnaní so štandardnou slučkou zjednodušená, musíme pri inicializácii slučky deklarovať iba dve veci:
- Popisovač prvku, ktorý momentálne iterujeme
- Zdrojové pole / kolekciu iterujeme
Preto môžeme povedať, že: Pre každý prvok v predmety, priraďte prvok k položka premennej a spustite telo slučky.
Pozrime sa na jednoduchý príklad:
int [] intArr = {0,1,2,3,4}; for (int num: intArr) {System.out.println ("Vylepšené pre každú slučku: i =" + num); }
Môžeme ho použiť na iteráciu rôznymi dátovými štruktúrami Java:
Vzhľadom na a Zoznam objekt - môžeme ho iterovať:
pre (Položka reťazca: zoznam) {System.out.println (položka); }
Môžeme podobne iterovať cez a Nastaviť sadu:
pre (String item: set) {System.out.println (item); }
A vzhľadom na Mapová mapa môžeme to tiež iterovať:
pre (Entry entry: map.entrySet ()) {System.out.println ("Kľúč:" + entry.getKey () + "-" + "Hodnota:" + entry.getValue ()); }
3.1. Iterable.forEach ()
Od verzie Java 8 môžeme pre každú slučku využívať trochu iným spôsobom. Teraz máme oddaný pre každý() metóda v Iterable rozhranie, ktoré akceptuje výraz lambda predstavujúci akciu, ktorú chceme vykonať.
Interne jednoducho deleguje úlohu na štandardnú slučku:
default void forEach (akcia spotrebiteľa) {Objects.requireNonNull (akcia); pre (T t: toto) {action.accept (t); }}
Pozrime sa na príklad:
Názvy zoznamu = new ArrayList (); names.add ("Larry"); names.add ("Steve"); names.add ("James"); names.add ("Conan"); names.add ("Ellen"); names.forEach (name -> System.out.println (name));
4. Záver
V tomto rýchlom výučbe sme preskúmali Java pre slučka.
Ako vždy, príklady nájdete na GitHub.