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 booleanorBoolean(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");
 }
If you prefer a code with a pretty look, you can do a break:
for(int j = 0; ; j++){
    if(j < 6
    && j < ( (int) abc[j] & 0xff)){
        break;
    }
    // Put your code here
}
If you want to do that why not go with a while, for ease of mind? :P No, but seriously I didn't know that and seems kinda nice so thanks, nice to know!
You can also replace complicated condition with single method call to make it less evil in maintain.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论