黑马程序员技术交流社区

标题: 请问if(赋值){语句},赋值有什么意义吗?谢谢 [打印本页]

作者: dongyangzhang    时间: 2013-6-11 17:44
标题: 请问if(赋值){语句},赋值有什么意义吗?谢谢
本帖最后由 dongyangzhang 于 2013-6-13 17:35 编辑

boolean m = true;
       if(m = false) {
           System.out.println("true");
       }

boolean m = true;
       if(m == false) {
           System.out.println("true");
       }


两个false之间,第一个是赋值,第二个是比较,第一个赋值有什么意义呢?

作者: 张歆明    时间: 2013-6-11 17:55
boolean m = true;
if(m = false) {
   System.out.println("true");
}

这个  m=false先执行  结果 m从原来的true 变成了false  使得无论怎么样
if中的条件表达式计算结果都是false  无论之前 你的m值是多少  没有机会
运行if满足是里面的执行体
你上面的就相当于
if(false){
  System.out.println("true");  
}
其实没有什么意义
下面的还行 因为  m的初始值要是为true 不满足条件 不运行里面的
要是为false  m==false返回true if中的执行块执行了  所以还是有意义的
作者: dongyangzhang    时间: 2013-6-11 17:56
张歆明 发表于 2013-6-11 17:55
boolean m = true;
if(m = false) {
   System.out.println("true");

谢谢你啊
作者: 张歆明    时间: 2013-6-11 17:58
dongyangzhang 发表于 2013-6-11 17:56
谢谢你啊

不客气 呵呵
作者: 张承富    时间: 2013-6-13 17:25
if的()里面是boolean型的值




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