Giving multiple conditions in for loop in Java [closed]

I was searching for "How to give multiple conditions in a for loop?" But there are no direct answers given.

After some research I found the correct way. Conditions should not be comma(,) or semicolon(;) separated. We can use the && operator to join both the conditions together.

for( initialization ; condition1 && condition2 ; increment)

Example:

for(int j= 0; j < 6 && j < ((int)abc[j] & 0xff) ; j++ ) 
{
//
}

Hope this helps the new Java developers.


You can also use "or" operator,

for( int i = 0 ; i < 100 || someOtherCondition() ; i++ ) {
  ...
}

A basic for statement includes

  • 0..n initialization statements (ForInit)
  • 0..1 expression statements that evaluate to boolean or Boolean (ForStatement) and
  • 0..n update statements (ForUpdate)

If you need multiple conditions to build your ForStatement, then use the standard logic operators (&&, ||, |, ...) but - I suggest to use a private method if it gets to complicated:

for (int i = 0, j = 0; isMatrixElement(i,j,myArray); i++, j++) { 
   // ...
}

and

private boolean isMatrixElement(i,j,myArray) {
  return (i < myArray.length) && (j < myArray[i].length);  //  stupid dummy code!
}

It is possible to use multiple variables and conditions in a for loop like in the example given below.

 for (int i = 1, j = 100; i <= 100 && j > 0; i = i - 1 , j = j-1) {
     System.out.println("Inside For Loop");
 }