Java - For petlja


U programiranju petlje se koriste za ponavljanje određenog bloka koda dok se ne ispuni određeni uslov. Na primjer: Zamislite da trebamo ispisati rečenicu 50 puta na vašem ekranu. To možemo učiniti tako što ćemo je ispisati 50 puta (bez upotrebe petlje). Kako bi bilo da ispisujete rečenicu milion puta? Da biste to izbjegli koristićemo petlje. Uz petlje, možemo jednokratno napisati izjavu o ispisu i pokrenuti je bilo koji broj puta. To je samo jednostavan primjer koji pokazuje važnost petlje u programiranju.



Java for petlje

Sintaksa for petlje u Javi je:

for (initialization; testExpression; update)
{
    // Kod unutar for petlje
}


Rad for petlje

Kako for petlja funkcionihe? Hajde i to da saznamo.

  1. Izraz inicijalizacije izvršava se samo jednom.
  2. Potom se procjenjuje testni izraz. Ovdje je testni izraz boolov izraz.
  3. Ako se testni izraz ocijeni istinitim, izvršavaju se kodovi unutar tijela for petlju. Tada se izvršava izraz za ažuriranje (update). Opet se vrednuje testni izraz. Ako je testni izraz istinit, izvršava se kod unutar tijela for petlje. Ovaj postupak traje sve dok se testni izraz ne procijeni na lažni.
  4. Ako se testni izraz ocijeni lažnim, petlja se prekida.


Dijagram toka for petlje




Primjer 1: For petlja

// Program ispisati rečenicu 10 puta

class Loop {
    public static void main(String[] args) {
      
        for (int i = 1; i <= 10; ++i) {
            System.out.println("Line " + i);
        }
    }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:


Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10


U gornjem primjeru imamo:

  • inicijalni izraz: int i = 1.e
  • testni izraz: i <= 10
  • ažuriraj izraz: ++i

Ovdje u početku vrijednost iznosi 1. Dakle, testni izraz se prvi put procjenjuje istinitim. Dakle, izjava o ispisu se izvršava. Sada se procjenjuje izraz ažuriranja. Svaki put kada se procijeni izraz, vrijednost i se povećava za 1. Ponovo se procjenjuje testni izraz i ponavlja se isti postupak. Ovaj proces traje sve dok i nije 11. Kad je i11, testni izraz (i <= 10) je lažan i for petlja prestaje s radom.


Primjer 2: For petlja

// Program za pronalaženje zbira prirodnih brojeva od 1 do 1000.

class Number {
    public static void main(String[] args) {
      
        int sum = 0;
     
        for (int i = 1; i <= 1000; ++i) {
            sum += i;     // sum = sum + i
        }
     
        System.out.println("Suma = " + sum);
    }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:


Suma = 500500



Beskonačna for petlja

Uvijek treba biti oprezan dok radimo s petljama, jer ako pogrešno postavimo testni izraz na takav način da nikad nije lažan, for petlja će se pokretati zauvijek. To se naziva beskonačna petlja. Pogledajmo primjer:

// Beskonačna for petlja

class Infinite {
    public static void main(String[] args) {
      
        int sum = 0;

        for (int i = 1; i <= 10; --i) {
            System.out.println("IT TUTORIJALI");
        }
    }
}

Ovdje testni izraz (i <= 10) nikada nije lažan i IT TUTORIJALI je ispisano beskonačno mnogo puta (barem teoretski).



Java for-each petlja

U Javi postoji alternativna sintaksa for petlje za rad s Java nizovima i Java kolekcijama (poznata kao for-each petlja). Pogledajmo primjer:

for (int a : array) {
    System.out.println(a);
}

Da biste saznali više, posjetite lekciju Java for-each petlja