The difference is while(false) gives compilation error but if(false) does not.
See this program
public class Fun {
public static void main(String[] args){
if(false){}//Runs fine
while(false){}//Compilation error
}
}
The Java compiler won't complain about unreachable code due to an if statement with a constant expression, such as if (false). The if statement is a special case, because Java's designers wanted to allow us to use compile-time constant booleans to enable conditional compilation. Basically, if (false) {...} is allowed, but while (false) {...} is not.
what is the reson for compile time error
ReplyDelete