Java continue statement

Filed Under: Java

Java continue statement is used to skip the current iteration of a loop. Continue statement in java can be used with for, while and do-while loop.

Java continue statement

When continue statement is used in a nested loop, it only skips the current execution of the inner loop. Java continue statement can be used with label to skip the current iteration of the outer loop too. Let’s have a look at some continue java statement examples.

Java continue for loop

Let’s say we have an array of integers and we want to process only even numbers, here we can use continue loop to skip the processing of odd numbers.


package com.journaldev.java;

public class JavaContinueForLoop {

	public static void main(String[] args) {
		int[] intArray = { 1, 2, 3, 4, 5, 6, 7 };

		// we want to process only even entries
		for (int i : intArray) {
			if (i % 2 != 0)
				continue;
			System.out.println("Processing entry " + i);
		}
	}

}

java continue statement, java continue for loop

Java continue while loop

Let’s say we have an array and we want to process only index numbers divided by 3. We can use java continue statement here with while loop.


package com.journaldev.java;

public class JavaContinueWhileLoop {

	public static void main(String[] args) {
		int[] intArray = { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
		int i = 0;
		while (i < 10) {

			if (i % 3 != 0) {
				i++;
				continue;
			}
			System.out.println("Processing Entry " + intArray[i]);
			i++;
		}
	}

}

java while loop continue

Java continue do-while loop

We can easily replace above while loop code with do-while loop as below. Result and effect of continue statement will be same as above image.


do {

	if (i % 3 != 0) {
		i++;
		continue;
	}
	System.out.println("Processing Entry " + intArray[i]);
	i++;
} while (i < 10);

Java continue label

Let’s have a look at java continue label example to skip the outer loop processing. We will use two dimensional array in this example and process an element only if all the elements are positive numbers.


package com.journaldev.java;

import java.util.Arrays;

public class JavaContinueLabel {

	public static void main(String[] args) {

		int[][] intArr = { { 1, -2, 3 }, { 0, 3 }, { 1, 2, 5 }, { 9, 2, 5 } };

		process: for (int i = 0; i < intArr.length; i++) {
			boolean allPositive = true;
			for (int j = 0; j < intArr[i].length; j++) {
				if (intArr[i][j] < 0) {
					allPositive = false;
					continue process;
				}
			}
			if (allPositive) {
				// process the array
				System.out.println("Processing the array of all positive ints. " + Arrays.toString(intArr[i]));
			}
			allPositive = true;
		}

	}

}

java continue label

Java continue important points

Some important points about java continue statement are;

  1. For simple cases, continue statement can be easily replaced with if-else conditions but when we have multiple if-else conditions then using continue statement makes our code more readable.
  2. continue statement comes handy incase of nested loops and to skip a particular record from processing.

I have made a short video explaining java continue statement in detail, you should watch it below.

Reference: Oracle Documentation

Comments

  1. Noone says:

    This whole code:

    if (allPositive) {
    // process the array
    System.out.println(“Processing the array of all positive ints. ” + Arrays.toString(intArr[i]));
    }
    allPositive = true;

    is unnecessary. I had to double check in my own IDE, to make sure. I usually like your articles, so this one felt like a letdown. You better fix it up. No need for a conditional in the outer loop, because that conditional would only get reached if the array is positive.

    1. Pankaj says:

      I am not sure how you determined that this code is unnecessary. This is the code where the array having only the positive values are being processed.

  2. Janice says:

    It is a “go to” statement, which was recommended to avoid in your code. I have not seen these statements in professional code in years?? Not sure we should bring them back??

  3. Anurag Singh says:

    great article
    nice very very nice
    thanks

  4. Raghuveer Kurdi says:

    Hi Pankaj,

    Nice Tutorials. I think in the above example for processing all positive elements, we are assigning the allPositive value to true at line 33. I think its unnecessary. As we are assigning its value to true in the beginning of each iteration.

    Thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages