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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Honelyboy 中级黑马   /  2014-12-10 22:22  /  1700 人查看  /  11 人回复  /   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");
}
面程序执行的结果是?为什么?

11 个回复

倒序浏览
#在这里快速回复#第一个if条件中,将false赋值给了b,满足第三个条件,!b为true,打印c
回复 使用道具 举报 1 0
答案为C,=为赋值,只能为真的时候才能输出。
boolean b=true只是个迷惑项
回复 使用道具 举报 1 0
雨过山更翠 发表于 2014-12-10 22:46
#在这里快速回复#第一个if条件中,将false赋值给了b,满足第三个条件,!b为true,打印c ...

哦,知道了。谢谢。
回复 使用道具 举报
答案为 c   无论  变量b 初值 是true还是false  都影响结果。
第一个if ()中的语句是赋值语句  决定了程序的结果  同时也是迷惑项,容易和 ==等于符号混淆
回复 使用道具 举报
Honelyboy 发表于 2014-12-10 22:56
哦,知道了。谢谢。

客气哦,啦啦啦
回复 使用道具 举报
0_TNT_0 发表于 2014-12-10 23:03
答案为 c   无论  变量b 初值 是true还是false  都影响结果。
第一个if ()中的语句是赋值语句  决定了程 ...

知道了。thanks
回复 使用道具 举报
结果是c,因为if语句那里有赋值运算,所以b=false,所以输出c
回复 使用道具 举报
呵呵,没有看就回复上去了,原来都明白了,呵呵。不好意思
回复 使用道具 举报
学习了。
回复 使用道具 举报
输出C啊,b=true,不就!b咯
回复 使用道具 举报
安卓小蜗牛 发表于 2014-12-11 00:33
输出C啊,b=true,不就!b咯

知道了。谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马