// 06_Loops.java - לולאות בסיסיות

public class Loops {
    public static void main(String[] args) {
        // for - לולאה רגילה
        System.out.println("--- for רגיל ---");
        for (int i = 1; i <= 5; i++) {
            System.out.println("איטרציה " + i);
        }

        // for - ספירה לאחור
        System.out.println("\n--- ספירה לאחור ---");
        for (int i = 5; i > 0; i--) {
            System.out.println(i);
        }

        // for - קפיצות
        System.out.println("\n--- קפיצות של 2 ---");
        for (int i = 0; i <= 20; i += 2) {
            System.out.print(i + " ");
        }
        System.out.println();

        // while
        System.out.println("\n--- while ---");
        int n = 10;
        while (n > 0) {
            System.out.println(n);
            n = n / 2;
        }

        // do-while - רץ לפחות פעם אחת
        System.out.println("\n--- do-while ---");
        int count = 0;
        do {
            System.out.println("פעם " + count);
            count++;
        } while (count < 3);

        // for-each על מערך
        System.out.println("\n--- for-each ---");
        int[] numbers = {10, 20, 30, 40, 50};
        for (int num : numbers) {
            System.out.println("ערך: " + num);
        }

        // break
        System.out.println("\n--- break ---");
        for (int i = 0; i < 100; i++) {
            if (i == 5) break;
            System.out.println(i);
        }

        // continue
        System.out.println("\n--- continue (רק אי-זוגיים) ---");
        for (int i = 0; i < 10; i++) {
            if (i % 2 == 0) continue;
            System.out.println(i);
        }

        // דוגמה: סכום 1..100
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        System.out.println("\nסכום 1..100 = " + sum);

        // דוגמה: עצרת
        int factorial = 1;
        int target = 5;
        for (int i = 2; i <= target; i++) {
            factorial *= i;
        }
        System.out.println(target + "! = " + factorial);
    }
}
