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 ga 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

  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);
        }
    }
}

Program ispisuje:


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, a petlja for prestaje sa 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);
    }
}

Program ispisuje:


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, petlja for će se pokretati zauvijek. To se naziva beskonačna petlja. Na 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("Hello");
        }
    }
}

Ovdje testni izraz (i <= 10) nikada nije lažan i Hello 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). Na primjer:

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

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