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.
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.
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);
}
}
}
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++;
}
}
}
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);
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;
}
}
}
Some important points about java continue statement are;
I have made a short video explaining java continue statement in detail, you should watch it below. https://www.youtube.com/watch?v=udqWkqhc2kw Reference: Oracle Documentation
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.
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.
- Noone
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??
- Janice
great article nice very very nice thanks
- Anurag Singh
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.
- Raghuveer Kurdi