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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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之间,第一个是赋值,第二个是比较,第一个赋值有什么意义呢?

4 个回复

倒序浏览
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中的执行块执行了  所以还是有意义的
回复 使用道具 举报
张歆明 发表于 2013-6-11 17:55
boolean m = true;
if(m = false) {
   System.out.println("true");

谢谢你啊
回复 使用道具 举报

不客气 呵呵
回复 使用道具 举报
if的()里面是boolean型的值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马