楼主试着运行一下以下代码大概就知道为什么了吧
1 public class Deme
2 public static void main(String[] args) {
3 int i = 0;
4 for (boolean b = false; b = false && (i < 2); b = false) {
5 i++;
6 System.out.println("返回值为true,我就运行");
}
}
}
运行结果是: (什么也没有)
然后再把第六行的代码改为 for (boolean b = false; b = true && (i < 2); b = false){
在运行一下,运行结果是:返回值为true,我就运行。返回值为true,我就运行
我认为,你写的那个代码中的for循环和这个道理是一样的,也就是说for循环中的循环条件boolean所返回的值一直为false,所以循环体内的代码不会被执行。
你要是把Demo类复写的方法boolean show()中的返回值改为true,就能够执行for里面的代码块了,运行结果是:
A
B
D
C
B
D
C
B
|