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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hejinze 中级黑马   /  2015-4-28 21:45  /  565 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

boolean b=true;
if(b=false)
{
        System.out.println("a");
}
else if(b)
{
        System.out.println("b");       
}
else if(!b)
{
        System.out.println("c");
}
else
{
        System.out.println("d");
}
为什么不是b

评分

参与人数 2技术分 +1 黑马币 +5 收起 理由
黄小橙 + 5 区分==和=的区别
lwj123 + 1

查看全部评分

7 个回复

倒序浏览
if(b=false)里面b的值已经改变
回复 使用道具 举报
= 是赋值动作
==才是判断是否相等的动作
回复 使用道具 举报
if(b=false)不是判断,而是将false赋值给b
回复 使用道具 举报
huanmenglt 发表于 2015-4-29 10:19
if(b=false)不是判断,而是将false赋值给b

所以if(b=false)等于if(false)
回复 使用道具 举报
b=false就已经将b付为false,!b就为turn,所以c
回复 使用道具 举报
=是赋值,==才是判断
b=false这条语句就已经改变b的值了,所以打印值为c
回复 使用道具 举报
==是判断,=才是赋值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马