A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© redsifei 中级黑马   /  2015-11-1 13:29  /  6429 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
class Test{
        public int test(){
                while(true){
                }
        }
}

最佳答案

查看完整内容

无限循环 while(true){} 后面不能跟任何语句 即使是return 否者会报错 因为执行不到嘛 所以即使函数标志有返回值 也不会报错

22 个回复

倒序浏览
无限循环 while(true){} 后面不能跟任何语句 即使是return 否者会报错 因为执行不到嘛 所以即使函数标志有返回值 也不会报错
回复 使用道具 举报
来听课~~~~
回复 使用道具 举报
因为这个while循环只是test()方法里面的一个循环而已,当调用这个test()方法是时候,运行while循环,而while里面什么也没写,因此不报错。
回复 使用道具 举报
为什么要报错啊?
回复 使用道具 举报
编译的时候没有语法错误
回复 使用道具 举报
BBQ: 中级黑马 2015-11-1 20:39:48
7#

加油!加油!加油!加油!加油!
回复 使用道具 举报
poxiao 中级黑马 2015-11-1 21:27:54
8#
因为系统只检测语法的合法性,并不能检测逻辑错误
回复 使用道具 举报
同意8楼的。
回复 使用道具 举报
因为这个符合逻辑,是一个死循环而已!
回复 使用道具 举报
过来看看,同求~
回复 使用道具 举报
java编译器在编译时只检查程序语法上的错误,但不能检查出逻辑上的错误。此代码符合语法,但在逻辑上出错了,缺少循环体,所以不报错。
回复 使用道具 举报
8楼+1,但这可能是正常的逻辑,所以没必要报错
回复 使用道具 举报
同意8楼
回复 使用道具 举报
无限循环
回复 使用道具 举报
这理论上是没错的。只不过是死循环。这种错误在实际代码中是很难定位的。要注意养成良好编码习惯来避免这种bug。
回复 使用道具 举报
感觉挺有意思,来看看别人是怎么回答的
回复 使用道具 举报
只是无限循环 并没有编译错误
回复 使用道具 举报
学习到了。。。。2楼+1
回复 使用道具 举报
Test方法里的while语句判断后并没有需要执行的语句
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马