10 Java Fundamentals | For Loop in Java | By Dummy for Dummies

  

INTRODUCTION

Remember what we learned in english?
Since  is used for specific point of time
For  is used for period of time.
Similarly in coding  While Loop  is used for a specific point like did the child get candy? The  For Loop  is used for a specific period of time like run the loop for 10 times, for 5 times etc. That's how they are different and become useful for different purposes. 



FOR LOOP

 For Loop  has few more things though, it's like a time bomb so you have to set a few things before it becomes functional. Like when to start, when to stop, and how to count from start to stop:
⦿ Counter = It will keep track of the how many times the loop ran
⦿ Condition = It will check the condition i.e. did the counter reach the set time?
⦿ Update = Instead of inside the loop code, for loop has specific area for updating code. It updates the code after one iteration (running the loop for a single time is called iteration).

 for(counter ; condition ; update) {  
     // write the code here to repeat 
                                     

You set a counter, then set a condition, then it'll update, then the loop code will run
Note: The update happens after the loop body runs, right before the next check. Here is a demonstration:
public class ForLoopDemo {
    public static void main(String[] args) {
        // Print numbers 1 to 5
        for (int i = 1; i < 6; i++) { 
            System.out.println("Number: " + i);
        } 
        System.out.println("Loop exited!"); 
    }
}

OUTPUT:
Number: 1 Number: 2 Number: 3 Number: 4 Number: 5 Loop exited!

⦿ The code sets 
 i  to be 1, then check if it's smaller than 6, then update it by INCREMENTING for next iteration.
⦿ The loop code runs, the  i  which was equal to one is now equal to 2.
⦿ It will keep running, on 5th iteration the update will set i to be 6, the code will run that time. And on start again the  i  will not be less than 6, so the loop will end right there.



REVERSE FOR LOOP

I know what you are thinking, yeah I hate my mind too. Let's focus on the topic. So for loop is not always ascending like from 0 to 10 or 0 to 5. You can actually code a for loop that starts from 10 and come down to 0, just like a time bomb. Here is a demonstration...
public class ReverseForLoop {
    public static void main(String[] args) {
        // Print numbers 5 to 1
        for (int i = 5; i > 0; i--) { 
            System.out.println("Number: " + i);
        } 
        System.out.println("Loop exited!"); 
    }
}

OUTPUT:
Number: 5 Number: 4 Number: 3 Number: 2 Number: 1 Loop exited!

⦿ The code sets 
 i  to be 5, then check if it's greater than 0, then update it by DECREMENTING for next iteration.
⦿ The loop code runs, the  i  which was equal to 5 is now equal to 4.
⦿ It will keep running, on 5th iteration the update will set i to be 0, the code will run that time. And on start again the  i  will not be greater than 0, so the loop will end right there.


POINTS TO REMEMBER

⦿ Usually an integer (int) is used for counters, but technically any numeric type works. In practice, we almost always use int.

⦿ Watch out for the signs, If starting value of  i  is smaller than condition value then
     condition sign must be  <  or the loop will not start
     In update the  i  must increase or the loop will become infinite

⦿ If starting value of  i  is larger than condition value then
     condition sign must be  >  or the loop will not start
     In update the  i  must decrease or the loop will become infinite

⦿ You can update the value as you like, it can be:
                                         i++    For update by 1
                                         i=i+2  For update by 2
                                         i=i+3  For update by 3
Here is a demo...
public class EvenNumbers {
    public static void main(String[] args) {
        // Print even numbers from 2 to 10
        for (int i = 2; i <= 10; i += 2) {
            System.out.println("Even: " + i);
        }
        System.out.println("Done printing evens!");
    }
}

OUTPUT:
Even: 2 Even: 4 Even: 6 Even: 8 Even: 10 Done printing evens!

It prints 10, because the condition is 
 i <= 10 . Therefore as long as  i  is less than or equal to 10, the loop will run

EXERCISE

Let's do an exercise for what we studied in this post. Study this code, break it down, analyze it and identify the concepts used here. It would be even better if you write down your observations and make a mini report on it.

import java.util.Scanner;


public class ForLoopExercise {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("=== For Loop Practice ===");


        System.out.print("Enter a small positive integer (n): ");

        int n = sc.nextInt();


        System.out.print("Enter a number for multiplication table (m): ");

        int m = sc.nextInt();


        // 1) Count from 1 to n

        System.out.println("\n-- 1) Count from 1 to n --");

        for (int i = 1; i <= n; i++) {

            System.out.println("Number: " + i);

        }


        // 2) Even numbers from 2 to n (step update)

        System.out.println("\n-- 2) Even numbers from 2 to n (i += 2) --");

        for (int i = 2; i <= n; i += 2) {

            System.out.println("Even: " + i);

        }


        // 3) Reverse count from n to 1

        System.out.println("\n-- 3) Reverse count from n to 1 --");

        for (int i = n; i >= 1; i--) {

            System.out.println("Rev: " + i);

        }


        // 4) Sum and average of 1..n

        System.out.println("\n-- 4) Sum and average of 1..n --");

        int sum = 0;

        for (int i = 1; i <= n; i++) {

            sum += i; // accumulate

        }

        System.out.println("Sum: " + sum);

        System.out.printf("Average: %.2f\n", (n > 0) ? (double) sum / n : 0.0);


        // 5) Multiplication table for m (1..10)

        System.out.println("\n-- 5) Multiplication table of " + m + " --");

        for (int i = 1; i <= 10; i++) {

            System.out.println(m + " x " + i + " = " + (m * i));

        }


        sc.close();

    }

}



OUTPUT:
=== For Loop Practice === Enter a small positive integer (n): 5 Enter a number for multiplication table (m): 3 -- 1) Count from 1 to n -- Number: 1 Number: 2 Number: 3 Number: 4 Number: 5 -- 2) Even numbers from 2 to n (i += 2) -- Even: 2 Even: 4 -- 3) Reverse count from n to 1 -- Rev: 5 Rev: 4 Rev: 3 Rev: 2 Rev: 1 -- 4) Sum and average of 1..n -- Sum: 15 Average: 3.00 -- 5) Multiplication table of 3 -- 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30


MINI PROJECT: (For Loop - Multiplication Table)
Your project is to create a simple Java program that prints the multiplication table of any number using a for loop. The program should ask the user to enter a number. Then it should use a for loop to print the table of that number from 1 to 10.

Example:
If the user enters 6, the output should be:
6 x 1 = 6
6 x 2 = 12
6 x 3 = 18

6 x 10 = 60


While writing the program, make sure you use:
⦿ Scanner for input
⦿ A for loop that runs from 1 to 10
⦿ printf or println to format the output properly



EXAMPLE OUTPUT:

Enter a number for the multiplication table: 6 Multiplication table of 6: 6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54 6 x 10 = 60 



CLOSING
That's it for  For Loop  in java. With  For Loop  you have control over where to start, when to stop, and how to count, whether you’re counting up, counting down, or skipping numbers.