Gyakorlati alapok

Ágyazzunk be a for ciklusnak! (az egybeágyazott for ciklusok)

 

Az előző, A for ciklus című fejezet alapszinten bemutatta a for ciklus működését. A fejezet fő jellegzetessége az volt, hogy csupán egyetlen ciklust tanulmányoztunk, holott roppant érdekes, bár nagyon nehezen olvasható, értelmezhető kódlehetőség az egybeágyazott for ciklusok használata. Ekkor a fő for ciklus tartalmaz még minimum 1 belső ciklust is. Itt már joggal vetődik fel a kérdés, hogy mi a végrehajtási sorrend? Nos, ehhez jelöljük meg mindegyik ciklust egy betűvel:

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

public class Main {
    public static void main(String[] args) {
        for(int i = 1; i <= 5; i++){
            System.out.print("F" + i + " ");
                for(int j = 1; j <= 5; j++){
                    System.out.print("B" + i + " ");
                }
        }
    }
}

 

Végeredmény:

F1 B1 B1 B1 B1 B1

F2 B2 B2 B2 B2 B2

F3 B3 B3 B3 B3 B3

F4 B4 B4 B4 B4 B4

F5 B5 B5 B5 B5 B5

 

Jól láthatjuk a ciklusok lefutását:

  1. lefut az 1. főciklus és kiírja: F1,

  2. beleugrik az 1. belső ciklusba és ekkor 5x írja ki: B1 B1 B1 B1 B1,

  3. lefut a 2. főciklus és kiírja: F2,

  4. beleugrik a 2. belső ciklusba és ekkor 5x írja ki: B2 B2 B2 B2 B2,

  5. stb.

Ezután már van elég bátorságunk 4 db "teljesen összekuszálódott" for ciklus működésének tanulmányozására! A ciklusok azonosítása a következő:

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

public class Main {
    public static void main(String[] args) {
    for(int i = 1; i <= 3; i++){
        System.out.print("F" + i + " ");
        for(int j = 1; j <= 3; j++){
            System.out.print("B" + i + " ");
            for(int k = 1; k <= 3; k++){
                System.out.print("BB" + i + " ");
                for(int l = 1; l <= 3; l++){
                    System.out.print("BBB" + i + " ");
                    }
                }
            }
        }
    }
}

 

Végeredmény főciklusonként szétbontva:

  1. F1

  2. B1

  3. BB1

  4. BBB1 BBB1 BBB1

  5. BB1

  6. BBB1 BBB1 BBB1

  7. BB1

  8. BBB1 BBB1 BBB1

  9. B1

  10. BB1

  11. BBB1 BBB1 BBB1

  12. BB1

  13. BBB1 BBB1 BBB1

  14. BB1

  15. BBB1 BBB1 BBB1

  16. B1

  17. BB1

  18. BBB1 BBB1 BBB1

  19. BB1

  20. BBB1 BBB1 BBB1

  21. BB1

  22. BBB1 BBB1 BBB1

1 db főciklus-sorozat tehát 22 ciklusból áll. A további sorozat:

  • F2 B2 BB2 BBB2 BBB2 BBB2 BB2 BBB2 BBB2 BBB2 BB2 BBB2 BBB2 BBB2 B2 BB2 BBB2 BBB2 BBB2 BB2 BBB2 BBB2 BBB2 BB2 BBB2 BBB2 BBB2 B2 BB2 BBB2 BBB2 BBB2 BB2 BBB2 BBB2 BBB2 BB2 BBB2 BBB2 BBB2

  • F3 B3 BB3 BBB3 BBB3 BBB3 BB3 BBB3 BBB3 BBB3 BB3 BBB3 BBB3 BBB3 B3 BB3 BBB3 BBB3 BBB3 BB3 BBB3 BBB3 BBB3 BB3 BBB3 BBB3 BBB3 B3 BB3 BBB3 BBB3 BBB3 BB3 BBB3 BBB3 BBB3 BB3 BBB3 BBB3 BBB3