Minden hurok be Java

โšก Okos รถsszefoglalรณ

Minden hurok be Java a for ciklus egy egyszerลฑsรญtett formรกja, amely tรถmbรถk รฉs listรกk szรกmlรกlรณ vagy index nรฉlkรผli bejรกrรกsรกra szolgรกl. Ez az anyag elmagyarรกzza a for-each szintaxist, รถsszehasonlรญtja azt a hagyomรกnyos for ciklussal, รฉs egy teljes mลฑkรถdล‘ pรฉldรกt mutat be a vรกrt kimenettel.

  • ๐Ÿ” Cรฉl: A for-each ciklus kรถzvetlenรผl vรฉgigmegy egy tรถmb vagy lista minden elemรฉn, csรถkkentve ezzel a kรณdot.
  • ๐Ÿงฎ Nincs szรกmlรกlรณ: Egy hagyomรกnyos for ciklussal ellentรฉtben a for-each fรผggvรฉnynek nincs szรผksรฉge indexre, feltรฉtelre vagy inkrementumra.
  • ๐Ÿงฉ Syntax: Deklarรกlj egy ideiglenes vรกltozรณt, amelynek tรญpusa megegyezik a gyลฑjtemรฉnyรฉvel, majd a megismรฉtelendล‘ gyลฑjtemรฉnyt.
  • ๐Ÿ‡ง๐Ÿ‡ท ร–sszehasonlรญtรกs: A pรฉlda ugyanazt a kimenetet mutatja egy szรกmlรกlรณalapรบ ciklusbรณl รฉs egy for-each ciklusbรณl.
  • โš ๏ธ Korlรกtozรกs: A for-each ciklus nem ad indexet, รญgy nem tudja kรถnnyen mรณdosรญtani az alapul szolgรกlรณ elemeket.

Minden hurok be Java

Java Minden tรถmbhรถz

A For-Each ciklus a for ciklusok egy mรกsik formรกja, amelyet a tรถmb bejรกrรกsรกra hasznรกlnak. A for-each ciklus jelentล‘sen lerรถvidรญti a kรณdot, รฉs a ciklusban nincs szรผksรฉg indexre, vagy inkรกbb szรกmlรกlรณra.

Syntax:

for (<DataType of array/List> <Temp variable name> : <Array/List to be iterated>) {
    System.out.println();
    // Any other operation can be done with this temp variable.
}

Tรถmb hurkolรกsa/iterรกlรกsa Java

Vegyรผk a pรฉldรกt egy String tรถmb hasznรกlatรกval, amelyet szรกmlรกlรณk hasznรกlata nรฉlkรผl szeretne ismรฉtelni. Tekintsรผnk egy arrData string tรถmbรถt a kรถvetkezล‘kรฉppen inicializรกlva:

String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};

Bรกr ismerhet olyan mรณdszereket, mint pรฉldรกul a mรฉret megtalรกlรกsa sor majd a tรถmb minden egyes elemรฉn vรฉgighaladva a hagyomรกnyos for ciklus (szรกmlรกlรณ, feltรฉtel รฉs nรถvekmรฉny) segรญtsรฉgรฉvel, egy optimalizรกltabb megkรถzelรญtรฉsre van szรผksรฉgรผnk, amely nem hasznรกl ilyen szรกmlรกlรณt.

Ez a โ€žforโ€ ciklus hagyomรกnyos megkรถzelรญtรฉse:

for (int i = 0; i < arrData.length; i++) {
    System.out.println(arrData[i]);
}

Lรกthatjuk a szรกmlรกlรณ hasznรกlatรกt, majd a tรถmb indexekรฉnt valรณ hasznรกlatรกt. Java mรณdot ad a โ€žforโ€ ciklus hasznรกlatรกra, amely a tรถmb minden elemรฉn รกthalad.

Itt a korรกbban deklarรกlt tรถmb kรณdja:

for (String strTemp : arrData) {
    System.out.println(strTemp);
}

Lรกthatรณ a kรผlรถnbsรฉg a ciklusok kรถzรถtt. A kรณd jelentล‘sen lerรถvidรผlt. Ezenkรญvรผl a ciklusban nincs hasznรกlatban az index, vagyis a szรกmlรกlรณ. Gyล‘zล‘djรถn meg arrรณl, hogy a for-each ciklusban deklarรกlt adattรญpus megegyezik a ciklus adattรญpusรกval. Tรถmb lista hogy iterรกlsz.

Minden ciklusra pรฉlda

Itt lรกthatรณ az egรฉsz osztรกly, amely a fenti magyarรกzatot mutatja:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

Iterรกljon egy tรถmbรถt Java

Vรกrhatรณ teljesรญtmรฉny:

Using conventional For Loop:
Alpha
Beta
Gamma
Delta
Sigma

Using Foreach loop:
Alpha
Beta
Gamma
Delta
Sigma

GYIK

Igen. Az MI-asszisztensek kรฉpesek indexalapรบ ciklusokat for-each ciklusokkรก alakรญtani, ahol az indexre nincs szรผksรฉg. Tovรกbbra is รฉrdemes รกttekinteni azokat az eseteket, amelyek az indexre tรกmaszkodnak a pozรญciรณ vagy az elem mรณdosรญtรกsรกhoz.

A mestersรฉges intelligencia eszkรถzei gyakran javasoljรกk a for-each ciklust az olvashatรณsรกg รฉrdekรฉben, amikor az index nincs hasznรกlatban, mรญg a keeping indexelt ciklusok, ahol az elem pozรญciรณja vagy mรณdosรญtรกsa szรกmรญt. A vรกlasztรกs az adott feladattรณl fรผgg.

Egy hagyomรกnyos for ciklus szรกmlรกlรณt รฉs indexet hasznรกl az iterรกciรณ vezรฉrlรฉsรฉhez. A for-each ciklus kรถzvetlenรผl, szรกmlรกlรณ nรฉlkรผl iterรกlja az egyes elemeket, javรญtva az olvashatรณsรกgot, de nem biztosรญtva indexet az elemek elรฉrรฉsรฉhez.

A ciklusvรกltozรณ mรณdosรญtรกsa nem frissรญti az alapul szolgรกlรณ tรถmbelemet, mivel az az รฉrtรฉk egy mรกsolatรกt tartalmazza. Az elemek helyben tรถrtรฉnล‘ mรณdosรญtรกsรกhoz hasznรกljon hagyomรกnyos for ciklust indexszel.

Foglald รถssze ezt a bejegyzรฉst a kรถvetkezล‘kรฉppen: