黑马程序员技术交流社区
标题:
这么写,为什么不报错呢?
[打印本页]
作者:
redsifei
时间:
2015-11-1 13:29
标题:
这么写,为什么不报错呢?
class Test{
public int test(){
while(true){
}
}
}
作者:
菊花爆满山
时间:
2015-11-1 13:29
无限循环 while(true){} 后面不能跟任何语句 即使是return 否者会报错 因为执行不到嘛 所以即使函数标志有返回值 也不会报错
作者:
peide0427
时间:
2015-11-1 15:58
来听课~~~~
作者:
gaojing69485542
时间:
2015-11-1 16:39
因为这个while循环只是test()方法里面的一个循环而已,当调用这个test()方法是时候,运行while循环,而while里面什么也没写,因此不报错。
作者:
吃饭工作睡觉
时间:
2015-11-1 17:11
为什么要报错啊?
作者:
_let'sgo
时间:
2015-11-1 20:17
编译的时候没有语法错误
作者:
BBQ:
时间:
2015-11-1 20:39
加油!加油!加油!加油!加油!
作者:
poxiao
时间:
2015-11-1 21:27
因为系统只检测语法的合法性,并不能检测逻辑错误
作者:
zhengsx
时间:
2015-11-1 21:56
同意8楼的。
作者:
木子子木
时间:
2015-11-1 22:18
因为这个符合逻辑,是一个死循环而已!
作者:
特立独行
时间:
2015-11-1 22:20
过来看看,同求~
作者:
HavaDream
时间:
2015-11-1 23:15
java编译器在编译时只检查程序语法上的错误,但不能检查出逻辑上的错误。此代码符合语法,但在逻辑上出错了,缺少循环体,所以不报错。
作者:
xingjiyuan26
时间:
2015-11-1 23:20
8楼+1,但这可能是正常的逻辑,所以没必要报错
作者:
zhangdazhi186
时间:
2015-11-2 08:12
同意8楼
作者:
韩文昊
时间:
2015-11-2 09:50
无限循环
作者:
fanyafangxf
时间:
2015-11-2 18:04
这理论上是没错的。只不过是死循环。这种错误在实际代码中是很难定位的。要注意养成良好编码习惯来避免这种bug。
作者:
jia7604112
时间:
2015-11-2 19:31
感觉挺有意思,来看看别人是怎么回答的
作者:
北极的男娃
时间:
2015-11-2 21:25
只是无限循环 并没有编译错误
作者:
大自然的搬运工
时间:
2015-11-2 21:30
学习到了。。。。2楼+1
作者:
chenxianzai
时间:
2015-11-2 22:54
Test方法里的while语句判断后并没有需要执行的语句
作者:
一生1314
时间:
2015-11-3 16:54
无限循环
作者:
redsifei
时间:
2015-11-3 20:47
poxiao 发表于 2015-11-1 21:27
因为系统只检测语法的合法性,并不能检测逻辑错误
但是方法要求有返回值啊...
作者:
poxiao
时间:
2015-11-3 21:34
redsifei 发表于 2015-11-3 20:47
但是方法要求有返回值啊...
方法有返回值,但是你不返回一个值的话也是合法的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2