Java For Loop

1. Oversigt

I denne artikel ser vi på et kerneaspekt af Java-sproget - udførelse af en erklæring eller en gruppe udsagn gentagne gange ved hjælp af en til løkke.

2. Enkel til Sløjfe

EN til loop er en kontrolstruktur, der giver os mulighed for at gentage visse operationer ved at inkrementere og evaluere en loop-tæller.

Før den første iteration initialiseres loop-tælleren, hvorefter tilstandsevalueringen udføres efterfulgt af trindefinitionen (normalt en simpel inkrementering).

Syntaksen for til loop er:

til (initialisering; boolsk-udtryk; trin) udsagn;

Lad os se det i et simpelt eksempel:

for (int i = 0; i <5; i ++) {System.out.println ("Simpel til loop: i =" + i); }

Det initialisering, Boolsk-udtryk, og trin brugt i til udsagn er valgfri. Her er et eksempel på en uendelig til løkke:

for (;;) {// Infinite for loop}

2.1. Mærket til Sløjfer

Vi kan også have mærket til sløjfer. Det er nyttigt, hvis vi er indlejret i løkker, så vi kan pause/Blive ved fra aspecific til løkke:

aa: for (int i = 1; i <= 3; i ++) {hvis (i == 1) fortsætter; bb: for (int j = 1; j <= 3; j ++) {hvis (i == 2 && j == 2) {break aa; } System.out.println (i + "" + j); }}

3. Forbedret til Sløjfe

Siden Java 5 har vi en anden slags til loop kaldet forbedret til hvilken gør det lettere at gentage alle elementer i et array eller en samling.

Syntaksen for forbedret til loop er:

til (Type item: items) statement;

Da denne sløjfe er forenklet i forhold til standarden for sløjfe, er vi kun nødt til at erklære to ting, når vi initialiserer en sløjfe:

  1. Håndtaget til et element, som vi i øjeblikket gentager
  2. Kildearrayet / samlingen, som vi gentager

Derfor kan vi sige, at: For hvert element i genstande, tildel elementet til vare variabel og kør løkkenes krop.

Lad os se på det enkle eksempel:

int [] intArr = {0,1,2,3,4}; for (int num: intArr) {System.out.println ("Forbedret for hver loop: i =" + num); }

Vi kan bruge det til at gentage forskellige Java-datastrukturer:

Givet en Liste liste objekt - vi kan gentage det:

for (String item: list) {System.out.println (item); }

Vi kan ligeledes gentage over en Indstil sæt:

for (String item: set) {System.out.println (item); }

Og givet en Kort kort vi kan også gentage det:

for (Entry entry: map.entrySet ()) {System.out.println ("Key:" + entry.getKey () + "-" + "Value:" + entry.getValue ()); }

3.1. Iterable.forEach ()

Siden Java 8 kan vi udnytte for hver sløjfe på en lidt anden måde. Det har vi nu en dedikeret for hver() metode i Iterabel interface, der accepterer et lambda-udtryk, der repræsenterer en handling, vi vil udføre.

Internt delegerer det simpelthen jobbet til standardsløjfen:

standard ugyldigt forEach (Forbrugerhandling) {Objects.requireNonNull (handling); for (T t: dette) {action.accept (t); }}

Lad os se på eksemplet:

Liste navne = ny ArrayList (); names.add ("Larry"); names.add ("Steve"); names.add ("James"); names.add ("Conan"); names.add ("Ellen"); names.forEach (navn -> System.out.println (navn));

4. Konklusion

I denne hurtige vejledning udforskede vi Java'er til løkke.

Som altid kan eksempler findes på GitHub.