黑马程序员技术交流社区

标题: 菜鸟-if的注意事项 [打印本页]

作者: 吾爱SF    时间: 2015-4-28 23:42
标题: 菜鸟-if的注意事项
if(5<2);
   System.out.println("111");   -------   输出111
if(5<2)
   System.out.println("111")    --------  不输出

作者: cyr    时间: 2015-4-29 12:49
这样的代码,编译就会报错。没有结束代码。写完代码必须要有“;”结束,或者用代码块括起来。你的第一个判断语句后面加分号了,代表第一个判断后面是空语句,紧接着的 System.out.println("111"); 是一定会输出的;下面那个判断,如果在System.out.println("111") 后面加上“;”可以正常编译通过,因为if(5<2)恒不成立,所以永远不会执行该if后面的代码。
作者: shield    时间: 2015-4-29 20:23
楼上明察秋毫
作者: jiao142857    时间: 2015-4-29 20:32
cyr 发表于 2015-4-29 12:49
这样的代码,编译就会报错。没有结束代码。写完代码必须要有“;”结束,或者用代码块括起来。你的第一个判 ...

所以是这样举例子 eclipse 会后黄色提示
if(5<2);//这儿显示deadcode
  {
   System.out.println("111");
  }// 都是deadcode
if(5<2)//
  {//
   System.out.println("111");
  }
作者: 柒夜    时间: 2015-4-29 20:44
eclipse会自动告警,提示:死代码,永远不会运行
作者: cyr    时间: 2015-4-29 20:44
jiao142857 发表于 2015-4-29 20:32
所以是这样举例子 eclipse 会后黄色提示
if(5

听过构造代码块吗?回去查查资料吧。
  1. if(5<2);//判断后为空代码
  2.   {
  3.    System.out.println("111");
  4.   }// 变成构造代码块,在对象生成的时候先与构造函数先执行。所以可能会输出:111;
复制代码

作者: jiao142857    时间: 2015-4-29 21:09
cyr 发表于 2015-4-29 20:44
听过构造代码块吗?回去查查资料吧。

大神!...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2