Java Basics:Loop statements in Java

 

Loops in Java

In programming languages, loops are used to execute a set of instructions/functions repeatedly when some conditions become true. There are three types of loops in Java.

  • for loop
  • while loop
  • do-while loop
Loops in Java

Java For Loop vs While Loop vs Do While Loop

Comparisonfor loopwhile loopdo while loop
IntroductionThe Java for loop is a control flow statement that iterates a part of the programs multiple times.The Java while loop is a control flow statement that executes a part of the programs repeatedly on the basis of given boolean condition.The Java do while loop is a control flow statement that executes a part of the programs at least once and the further execution depends upon the given boolean condition.
When to useIf the number of iteration is fixed, it is recommended to use for loop.If the number of iteration is not fixed, it is recommended to use while loop.If the number of iteration is not fixed and you must have to execute the loop at least once, it is recommended to use the do-while loop.
Syntax
for(init;condition;incr/decr){  
// code to be executed 
}
while(condition){  
//code to be executed 
}
do{  
//code to be executed  
}while(condition); 
Example
//for loop  
for(int i=1;i<=10;i++){  
System.out.println(i);  
}  
//while loop  
int i=1;  
while(i<=10){  
System.out.println(i);  
i++;  
}  
//do-while loop  
int i=1;  
do{  
System.out.println(i);  
i++;  
}while(i<=10); 
Syntax for infinitive loop
for(;;){  
//code to be executed  
}
while(true){  
//code to be executed  
}
do{  
//code to be executed  
}while(true);  

Java For Loop

The Java for loop is used to iterate a part of the program several times. If the number of iteration is fixed, it is recommended to use for loop.

There are three types of for loops in java.

  • Simple For Loop
  • For-each or Enhanced For Loop
  • Labeled For Loop

Java Simple For Loop

A simple for loop is the same as C/C++. We can initialize the variable, check condition and increment/decrement value. It consists of four parts:

  1. Initialization: It is the initial condition which is executed once when the loop starts. Here, we can initialize the variable, or we can use an already initialized variable. It is an optional condition.
  2. Condition: It is the second condition which is executed each time to test the condition of the loop. It continues execution until the condition is false. It must return boolean value either true or false. It is an optional condition.
  3. Statement: The statement of the loop is executed each time until the second condition is false.
  4. Increment/Decrement: It increments or decrements the variable value. It is an optional condition.

Syntax:

  1. for(initialization;condition;incr/decr){  
  2. //statement or code to be executed  
  3. }  

Flowchart:

for loop in java flowchart

Example:

  1. //Java Program to demonstrate the example of for loop  
  2. //which prints table of 1  
  3. public class ForExample {  
  4. public static void main(String[] args) {  
  5.     //Code of Java for loop  
  6.     for(int i=1;i<=10;i++){  
  7.         System.out.println(i);  
  8.     }  
  9. }  
  10. }  

Output:

1
2
3
4
5
6
7
8
9
10

Java Nested For Loop

If we have a for loop inside the another loop, it is known as nested for loop. The inner loop executes completely whenever outer loop executes.

Example:

  1. public class NestedForExample {  
  2. public static void main(String[] args) {  
  3. //loop of i  
  4. for(int i=1;i<=3;i++){  
  5. //loop of j  
  6. for(int j=1;j<=3;j++){  
  7.         System.out.println(i+" "+j);  
  8. }//end of i  
  9. }//end of j  
  10. }  
  11. }  

Output:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

Pyramid Example 1:

  1. public class PyramidExample {  
  2. public static void main(String[] args) {  
  3. for(int i=1;i<=5;i++){  
  4. for(int j=1;j<=i;j++){  
  5.         System.out.print("* ");  
  6. }  
  7. System.out.println();//new line  
  8. }  
  9. }  
  10. }  

Output:

* 
* * 
* * * 
* * * * 
* * * * * 

Pyramid Example 2:

  1. public class PyramidExample2 {  
  2. public static void main(String[] args) {  
  3. int term=6;  
  4. for(int i=1;i<=term;i++){  
  5. for(int j=term;j>=i;j--){  
  6.         System.out.print("* ");  
  7. }  
  8. System.out.println();//new line  
  9. }  
  10. }  
  11. }  

Output:

* * * * * * 
* * * * * 
* * * * 
* * * 
* * 
*  

Java for-each Loop

The for-each loop is used to traverse array or collection in java. It is easier to use than simple for loop because we don't need to increment value and use subscript notation.

It works on elements basis not index. It returns element one by one in the defined variable.

Syntax:

  1. for(Type var:array){  
  2. //code to be executed  
  3. }  

Example:

  1. //Java For-each loop example which prints the  
  2. //elements of the array  
  3. public class ForEachExample {  
  4. public static void main(String[] args) {  
  5.     //Declaring an array  
  6.     int arr[]={12,23,44,56,78};  
  7.     //Printing array using for-each loop  
  8.     for(int i:arr){  
  9.         System.out.println(i);  
  10.     }  
  11. }  
  12. }  

Output:

12
23
44
56
78

Java Labeled For Loop

We can have a name of each Java for loop. To do so, we use label before the for loop. It is useful if we have nested for loop so that we can break/continue specific for loop.

Usually, break and continue keywords breaks/continues the innermost for loop only.

Syntax:

  1. labelname:  
  2. for(initialization;condition;incr/decr){  
  3. //code to be executed  
  4. }  

Example:

  1. //A Java program to demonstrate the use of labeled for loop  
  2. public class LabeledForExample {  
  3. public static void main(String[] args) {  
  4.     //Using Label for outer and for loop  
  5.     aa:  
  6.         for(int i=1;i<=3;i++){  
  7.             bb:  
  8.                 for(int j=1;j<=3;j++){  
  9.                     if(i==2&&j==2){  
  10.                         break aa;  
  11.                     }  
  12.                     System.out.println(i+" "+j);  
  13.                 }  
  14.         }  
  15. }  
  16. }  

Output:

1 1
1 2
1 3
2 1

If you use break bb;, it will break inner loop only which is the default behavior of any loop.

  1. public class LabeledForExample2 {  
  2. public static void main(String[] args) {  
  3.     aa:  
  4.         for(int i=1;i<=3;i++){  
  5.             bb:  
  6.                 for(int j=1;j<=3;j++){  
  7.                     if(i==2&&j==2){  
  8.                         break bb;  
  9.                     }  
  10.                     System.out.println(i+" "+j);  
  11.                 }  
  12.         }  
  13. }  
  14. }  

Output:

1 1
1 2
1 3
2 1
3 1
3 2
3 3

Java Infinitive For Loop

If you use two semicolons ;; in the for loop, it will be infinitive for loop.

Syntax:

  1. for(;;){  
  2. //code to be executed  
  3. }  

Example:

  1. //Java program to demonstrate the use of infinite for loop  
  2. //which prints an statement  
  3. public class ForExample {  
  4. public static void main(String[] args) {  
  5.     //Using no condition in for loop  
  6.     for(;;){  
  7.         System.out.println("infinitive loop");  
  8.     }  
  9. }  
  10. }  

Output:

infinitive loop
infinitive loop
infinitive loop
infinitive loop
infinitive loop
ctrl+c

Now, you need to press ctrl+c to exit from the program.


Java While Loop

The Java while loop is used to iterate a part of the program several times. If the number of iteration is not fixed, it is recommended to use while loop.

Syntax:

  1. while(condition){  
  2. //code to be executed  
  3. }  

flowchart of java while loop


  1. public class WhileExample {  
  2. public static void main(String[] args) {  
  3.     int i=1;  
  4.     while(i<=10){  
  5.         System.out.println(i);  
  6.     i++;  
  7.     }  
  8. }  
  9. }  


Output:

1
2
3
4
5
6
7
8
9
10

Java Infinitive While Loop

If you pass true in the while loop, it will be infinitive while loop.

Syntax:

  1. while(true){  
  2. //code to be executed  
  3. }  

Example:

  1. public class WhileExample2 {  
  2. public static void main(String[] args) {  
  3.     while(true){  
  4.         System.out.println("infinitive while loop");  
  5.     }  
  6. }  
  7. }  

Output:

infinitive while loop
infinitive while loop
infinitive while loop
infinitive while loop
infinitive while loop
ctrl+c

Now, you need to press ctrl+c to exit from the program.



Java do-while Loop

The Java do-while loop is used to iterate a part of the program several times. If the number of iteration is not fixed and you must have to execute the loop at least once, it is recommended to use do-while loop.

The Java do-while loop is executed at least once because condition is checked after loop body.

Syntax

  1. do
  2. //code to be executed  
  3. }while(condition);  

flowchart of do while loop in java

Example:

  1. public class DoWhileExample {  
  2. public static void main(String[] args) {  
  3.     int i=1;  
  4.     do{  
  5.         System.out.println(i);  
  6.     i++;  
  7.     }while(i<=10);  
  8. }  
  9. }  


Output:

1
2
3
4
5
6
7
8
9
10

Java Infinitive do-while Loop

If you pass true in the do-while loop, it will be infinitive do-while loop.

Syntax:

  1. do{  
  2. //code to be executed  
  3. }while(true);  

Example:

  1. public class DoWhileExample2 {  
  2. public static void main(String[] args) {  
  3.     do{  
  4.         System.out.println("infinitive do while loop");  
  5.     }while(true);  
  6. }  
  7. }  

Output:

infinitive do while loop
infinitive do while loop
infinitive do while loop
ctrl+c

Now, you need to press ctrl+c to exit from the program.


___________________________

jump Statements

  • jump: Java supports three jump statement: break, continue and return. These three statements transfer control to other part of the program.
  1. Break: In Java, break is majorly used for:
  • Terminate a sequence in a switch statement (discussed above).
  • To exit a loop.
  • Used as a “civilized” form of goto.
Note: Break, when used inside a set of nested loops, will only break out of the innermost loop.using-break-to-exit-a-loop-in-java
Example:
// Java program to illustrate using
// break to exit a loop
class BreakLoopDemo
{
    public static void main(String args[])
    {
        // Initially loop is set to run from 0-9
        for (int i = 0; i < 10; i++)
        {
            // terminate loop when i is 5.
            if (i == 5)
                break;
  
            System.out.println("i: " + i);
        }
        System.out.println("Loop complete.");
    }
}
// Java program to illustrate using
// break to exit a loop
class BreakLoopDemo
{
    public static void main(String args[])
    {
        // Initially loop is set to run from 0-9
        for (int i = 0; i < 10; i++)
        {
            // terminate loop when i is 5.
            if (i == 5)
                break;
  
            System.out.println("i: " + i);
        }
        System.out.println("Loop complete.");
    }
}

    1. Using break to exit a Loop

      Using break, we can force immediate termination of a loop, bypassing the conditional expression and any remaining code in the body of the loop.


      Output:

      i: 0
      i: 1
      i: 2
      i: 3
      i: 4
      Loop complete.
      

      Using break as a Form of Goto

      Java does not have a goto statement because it provides a way to branch in an arbitrary and unstructured manner. Java uses label. A Label is use to identifies a block of code.
      Syntax:

      label:
      {
        statement1;
        statement2;
        statement3;
        .
        .
      }

      Now, break statement can be use to jump out of target block.
      Note: You cannot break to any label which is not defined for an enclosing block.
      Syntax:

      break label;

      Example:

      // Java program to illustrate using break with goto
      class BreakLabelDemo
      {
          public static void main(String args[])
          {
              boolean t = true;
        
              // label first
              first:
              {
                  // Illegal statement here as label second is not
                  // introduced yet break second;
                  second:
                  {
                      third:
                      {
                          // Before break
                          System.out.println("Before the break statement");
        
                          // break will take the control out of
                          // second label
                          if (t)
                              break second;
                          System.out.println("This won't execute.");
                      }
                      System.out.println("This won't execute.");
                  }
        
                  // First block
                  System.out.println("This is after second block.");
              }
          }
      }

      Output:

      Before the break.
      This is after second block.
      
    2. Continue: Sometimes it is useful to force an early iteration of a loop. That is, you might want to continue running the loop but stop processing the remainder of the code in its body for this particular iteration. This is, in effect, a goto just past the body of the loop, to the loop’s end. The continue statement performs such an action.
      continue-in-java
      Example:
      // Java program to illustrate using
      // continue in an if statement
      class ContinueDemo
      {
          public static void main(String args[])
          {
              for (int i = 0; i < 10; i++)
              {
                  // If the number is even
                  // skip and continue
                  if (i%2 == 0)
                      continue;
        
                  // If number is odd, print it
                  System.out.print(i + " ");
              }
          }
      }

      Output:

      1 3 5 7 9 
      
    3. Return:The return statement is used to explicitly return from a method. That is, it causes a program control to transfer back to the caller of the method.
      Example:
      // Java program to illustrate using return
      class Return
      {
          public static void main(String args[])
          {
              boolean t = true;
              System.out.println("Before the return.");
            
              if (t)
                  return;
        
              // Compiler will bypass every statement 
              // after return
              System.out.println("This won't execute.");
          }
      }

      Output:

      Before the return.
      
  • ______________-



Comments

Popular posts from this blog

Java OOPS:OOPS Concepts Overview

Java OOPS:Constructors in Java – A complete study!!

Java Basics:Data Types