It is used to enumerate large statements of data using a single repeatable block. Loop is also called control Structure.

It is used to solve range-based problems, for example, we want to display marks of 5000 students then we will use Loop
Loop is mostly used in Array and Collection type variables.
Loop is also called control structure because it will provide a common block that will be controlled by the condition.
It is also called iterative statements because it will iterate the program code under the common repeatable block of code.
Loop uses three statements for program execution

                                  Forward                                 Backward
initialization  :-         i= min                                     i=max
Condition :-              i<=max                                    i>=min    
Iteration                    i++                                           i--
Type of Loop:-
1) Entry Control:-
 First Check Condition Then Execute Statements
     1.1) while:-   
This loop will work when the condition will be true, while loop can be used to create a finite and infinite based program both.
     but we mostly prefer infinite-based programs using while because for loop provide simple structure to implement the finite based program.
Syntax of While Loop:-
 initialization;
while(condition)   
{
      Statement;
      increment;
}

example
int i=1;
while(i<=10)
{
    System.out.println(i);
   i++;
}
infinite  while loop example using break
int i=1;
while(true)
{
    if(i>10)
    break;
    System.out.println(i);
   i++;
}
infinite  while loop example using a boolean value
class TableExample
{
    public static void main(String args[])
    {
         int i=1;
         int num=35;
         boolean flag=true;
         while(flag)
         {
              System.out.println(num*i);
              i = i+1;
               if(i>10)
                flag=false;
         }
    }
}
Program of While Loop to calculate a table to understand while loop properly:-
import java.util.Scanner;
class Table
{
   public static void main(String args[])
   {
       int num,i;
       Scanner sc = new Scanner(System.in);
       System.out.println("Enter number for table");
       num=sc.nextInt();
       i=1;
       while(i<=10)
       {
          System.out.println(num+ "*" + i + "=" + (num*i));
          i++;
       }
      System.out.println("Total number of step "+i);
   }
}
WAP to create a table of any number using infinite Loop:-
import java.util.Scanner;
class Table
{
   public static void main(String args[])
   {
       int num,i;
       Scanner sc = new Scanner(System.in);
       System.out.println("Enter number for table");
       num=sc.nextInt();
       i=1;
       while(true)
       {
          System.out.println(num+ "*" + i + "=" + (num*i));
          if(i>10)
           break;
          i++;
       }
     // System.out.println("Total number of step "+i);
   }
}
limitation of while loop:-
1)  Complex structure hence it can not be managed in nested sequence easily.
2)  take more process time to program execution  as compared to for loop         
 
 1.2 for -
using this we can contain all sub-statements using for statements, it provides a simple syntax structure as compared to a while and do-while loop.
for loop is mostly used to create a finite condition-based program.
flow of for loop:-
      1        2              4
for(init; condition; iteration)
 {
        3
        statement; 
 }
finite for loop example:-
import java.util.Scanner;
class Table
{
   public static void main(String args[])
   {
       int num,i;
       Scanner sc = new Scanner(System.in);
       System.out.println("Enter number for table");
       num=sc.nextInt();
       
       for(i=1;i<=10;i++)
       {
          System.out.println(num+ "*" + i + "=" + (num*i));
        
                }
     // System.out.println("Total number of step "+i);

   }
}

Infinite for loop example:-

import java.util.Scanner;
class Table
{
   public static void main(String args[])
   {
       int num,i;
       Scanner sc = new Scanner(System.in);
       System.out.println("Enter number for table");
       num=sc.nextInt();
       i=1;
       for(;;)
       {
          System.out.println(num+ "*" + i + "=" + (num*i));
          if(i>10)
           break;
          i++;

       }
     // System.out.println("Total number of step "+i);
   }
}

Write a program to calculate the factorial of any entered number?
import java.util.Scanner;
class Fact
{
   public static void main(String args[])
   {
       int num,i,f=1;
       Scanner sc = new Scanner(System.in);
       System.out.println("Enter number for table");
       num=sc.nextInt();
       
       for(i=1;i<=num;i++)
       {
         f=f*i;  #f = 120
               }
      System.out.println("result is "+f);
   }
}

Nested For Loop:-   We will write more than one for loop using a nested sequence, it Contains a collection of outer for loop and multiple inner for loop.
for(init;condition;iteration)
{
   for(init;condition;iteration)
   {
            Statement;
  }
 }
1  2 3 4 5
1 2 3 4
1 2 3
1 2
1
.....................................................................................................

I       j
1      5
2      4
3      3
4      2
5      1
Solution:-
class NestedLoop
{
    public static void main(String... args)
    {
      for(int i=1;i<=5;i++) 
      {
          for(int j=1;j<=6-i;j++) 
           {
                System.out.print(j+ "  ");
            }
            System.out.println();
      }
     }
}
......................................................
A B C D E
A B C D
A B C 
A B
A
...............................................
The solution of This Program:-
class NestedLoop
{
    public static void main(String... args)
    {
      for(int i=69;i>=65;i--)    
      {
          for(int j=65;j<=i;j++)    
           {
                System.out.print((char)j+" ");
            }
            System.out.println();
      }
     }
}
A B C D E
a b c d
A B C
a b
A
The solution to this program:-
class NestedLoop
{
    public static void main(String args[])
    {
      for(int i=69;i>=65;i--)    
      {
      
          for(int j=65;j<=i;j++)    
           {
                if(i%2!=0)
                System.out.print((char)(j)+" ");
                else
                System.out.print((char)(j+32)+" ");
            }
            System.out.println();
      }
     }
}
.........................................................
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
.........................................................................
1 0 0 1 0
1 0 0 1
1 0 0
1 0
1
...................................................................................
A a B b C
A a B b
A a B
A a
A
The solution to this program:-
class NestedLoop
{
   public static void main(String ram[])
   {
       for(int i=1;i<=5;i++)
       {
            char ch=65;  
            for(int j=5;j>=i;j--)
            {
                   if(j%2!=0)
                   System.out.print((char)ch +" ");
                   else
                   {
                   System.out.print((char)(ch+32)+" "); 
                   ch++;
                  } 
                   }  
            System.out.println();

       }
   }
}
............................................................................
1 2 3 4 5
5 4 3 2
1 2 3
5 4
1
.....................................................................................

2)Exit Control:-
    First, execute the loop then check the condition
   2.1) do-while
      Syntax of do-while
       initialization;
       do
       {
              Statement; 
              Increment;
       }while(condition);
WAP to print 1 to 10?
class Dowhile
{
 public static void main(String args[])
 {        
        int num, i;
              i=1;
        do
        {
         System.out.println(i);
         i++;

       }while(i<=10);
  }
}
 WAP to print the table of any entered number?
import java.util.Scanner;
class Dowhile
{
 public static void main(String args[])
 {
        Scanner sc = new Scanner(System.in);
        int num,i;
        System.out.println("enter number to print table");
        num=sc.nextInt();
        i=1;
        do
        {
         System.out.println(num*i);
         i++;
       }while(i<=10);
  }
}

WAP to print factorial of any entered number?
import java.util.Scanner;
class Dowhile
{
 public static void main(String args[])
 {
        Scanner sc = new Scanner(System.in);
        int num,i,f=1;
        System.out.println("enter number to print fact");
        num=sc.nextInt();
        i=num;

        do
        {
         f=f*i;
         i--;

       }while(i>=1);

       System.out.println("Factorial is "+f);

  }
}
ASSIGNMENT:-
1)  WAP   to calculate the sum of one digit positive number?
2) WAP to reverse pin code?
3)  WAP to find the max digit is Pincode?
4) WAP to check prime?
class Checkprime
{
 public static void main(String args[])
 {
     int num=6,c=0;
     int i=1;
     while(i<=num)
     {
        if(num%i==0)
        c++;
        i++;
     }
     if(c==2)
     System.out.println("prime");
     else
     System.out.println("not prime");
}
}
Same program using for loop?
class Checkprime
{
 public static void main(String args[])
 {
     int num=6,c=0;
   
     for(int i=1;i<=num;i++)
     {
        if(num%i==0)
        c++;
     }
     if(c==2)
     System.out.println("prime");
     else
     System.out.println("not prime");
}
}
Optimize Program to Check Prime Number?
class Checkprime
{
 public static void main(String args[])
 {
     int num=6,c=0;
   
     for(int i=2;i<num;i++)
     {
        if(num%i==0)
        {
        c++;
        break;
        }
     }
     if(c==0)
     System.out.println("prime");
     else
     System.out.println("not prime");
}
}
Another way to create a prime number?
import java.util.Scanner;
class Checkprime
{
  public static void main(String args[])
  {
     int num;
     Scanner sc = new Scanner(System.in);
     System.out.println("Enter number to check prime");
     num=sc.nextInt();
     int count=0,i; 
     for(i=2;i<num;i++)
     {
         if(num%i==0)
          break;

     }
     if(num==i)
      System.out.println("Prime");
     else
      System.out.println("Not prime");   
  } 
}

import java.util.Scanner;
class Checkprime
{
  public static void main(String args[])
  {
     int num;
     Scanner sc = new Scanner(System.in);
     System.out.println("Enter number to check prime");
     num=sc.nextInt();
     int count=0,i; 
     for(i=2;i<num/2;i++)
     {
         if(num%i==0)
           break;
     }
     if(num/2==i)
      System.out.println("Prime");
     else
      System.out.println("Not prime");   
  } 
}
Prine program using do-while loop?
class TableExample
{
    public static void main(String args[])
    {
         int num=41;
         int i=2;
         do
         {
             if(num%i==0)
              {
                System.out.println("not prime");
                break;
              } 
            i++;
          }while(i<num/2);

        if((num/2)==i)
        {
           System.out.println("prime");
        }        
    }
}
5) WAP to print Fibonacci series? 
0,1,1,2,3,5,8,13
Assignment of  While Loop?
1)  WAP to check prime number using an infinite loop?
2)  WAP to print A to Z using a while loop?
3)  WAP to count total even and odd numbers in pin code using an infinite loop?
Nested For Loop Assignments:-
A B C D E
  B C D E
    C D E
      D E
        E
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2
3 5
7 11 13
17 19 23 29
................................
a e i o u
a e i o
a e i
a e
a
.................................
       *
   *   *   *
*  *   *   *   *
   *   *   *
       *
......................................................................................................................................................
Break and Continue Statement:-
https://www.shivatutorials.com/2019/09/break-and-continue-statement-in-java.html
..............................................................................................................................