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 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 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 important points
Some important points about java continue statement are;
- 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.
- 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
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.
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.
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??
great article
nice very very nice
thanks
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.