黑马程序员技术交流社区

标题: 这道题的运行结果为什么是C呢?求大神指点 [打印本页]

作者: 石头stone    时间: 2016-5-16 22:11
标题: 这道题的运行结果为什么是C呢?求大神指点
今天的测试题,感觉应该与"if(b=false)"有关,但是if的判断语句不应该是布尔类型的么?
28.下面程序执行的结果是?( )
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");
}
A.        a   
B.        b  
C.        c
D.        d
作者: 可以假装看不见    时间: 2016-5-16 22:21
b=false 是把b的值变成false了 这是赋值 如果改成b==false就是b了
作者: zhangshouwei    时间: 2016-5-16 23:11
b=false是赋值,if(false)不执行,!false 是true
作者: Noodles.    时间: 2016-5-16 23:14
额,好吧!~~~ if(b) 里面是false
作者: 石头stone    时间: 2016-5-18 22:36
意思是赋值之后还是判断b的布尔类型么?
作者: Belive丶Me    时间: 2016-5-18 22:51
b吧应该是
作者: psuugdufnm    时间: 2016-5-18 23:04
选择B啊              
作者: HeiMaZ    时间: 2016-5-18 23:06
把b的值变成false了 这是赋值 如果改成b==false就是b了
作者: 目前是菜鸟    时间: 2016-5-18 23:51
在第一句判断的时候,b的值被改变为false,程序往下运行,结果你懂的
作者: 我是你岁哥❤环    时间: 2016-5-18 23:58
if(b=false)
{
        System.out.println("a");
}
这个条件语句中,没有判断,只是将变量b的值重新进行了赋值操作
作者: 石头stone    时间: 2016-5-19 21:21
我是你岁哥❤环 发表于 2016-5-18 23:58
if(b=false)
{
        System.out.println("a");

哦哦,这样啊,谢谢




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