QQ截图20160819181414.png (8.65 KB, 下载次数: 80)
输出语句永远执行不到,为什么可以编译通过?
public static void main(String[] args) {
method();
}
private static void method() {
for (int i = 0; i < 10; i++) {
if(i == 4)
return ;
else
return ;
}
System.out.println("-----");
}
小小丶白 发表于 2016-8-19 20:48
因为你经过了一个for循环和一个IF判断,系统无法识别return语句是否会执行到,如果执行不到后面的输出语句便 ...
cg1693378787 发表于 2016-8-19 22:47
break是跳出并结束for循环,return是跳出结束main方法,(个人观点)
itcoder 发表于 2016-8-19 23:22
这个代码是没有问题的,你说的永远执行不到的情况,对应的是死循环里没有跳出语句,只要保证有跳出语句,编译就 ...
JoAndroid 发表于 2016-8-19 23:42
当i=4的时候return 方法就结束了,换break就可以了吧
zhangliuxian 发表于 2016-8-19 23:43
return完main方法就完了
JunC 发表于 2016-8-20 00:25
我针对你的提问做了一点小的测试![mw_shl_code=java,true]public static void main(String[] args) {
me ...
江楠大盗 发表于 2016-8-20 15:43
用return也没问题,问题是最后的输出语句执行不到,编译不报错
灵动 发表于 2016-8-20 22:00
这个编译肯定能通过,因为第一:语法没错;故此可以编译成功
第二:return 是结束main方法的,其用法和continue ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |