凭啥没有意义就会报错?


public class for{
public static void main(String [] args){
int i=6;
for(;0==5;i++){
System.out.print("错误");
}

System.out.print("结束");
}

java  for 循环语句

=====================

for(i=0;0==5;i++);//出现报错,

for  (i=0;0<=5;i++)    ;//正确

for(i=0;i==5;i++) ;//正确

for (i=0;i>=5;i++) ;//错误

=====================

为什么0==5会报错呢???虽然它没有意义但是它可以跳出循环啊

首先,我已经知道是false,但是不知道为什么报错,提示是“无法访问的语句”

绝对的false,肯定不可能执行的for循环,编译期就可以判定的无效语句,就会报错了

应该是你其他都没报错可能是因为,for循环里面的语句是有可能执行到的,而第一个 报错则是因为for循环里面的语句不可能执行。

你觉得没意义那是因为你是人,有着复杂的思想,但计算机底层都是非0即1,一看0==5,要么成立要么不成立,成立了我给你跑,不成立的我给你报错,有问题吗?而且如果觉得没意义的话跳过,这个属于开发者的工作,要用编程语言表示清楚,这样编译成计算机语言后计算机才能理解你的意思从而执行。

我觉得题主的意思是想思考,为什么没有意义就会报错,就比如if(false){}中同样是没有意义则不会报错。在我学习认知中for中的第二个“参数”是等同于if的判断。