黑马程序员技术交流社区

标题: 基础选择题不是很明白,求大神解答~! [打印本页]

作者: 尼玛个鸡    时间: 2015-9-20 21:53
标题: 基础选择题不是很明白,求大神解答~!
下面程序执行的结果是?( )
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

作者: iceknc    时间: 2015-9-20 21:54
b = false,是对b的二次赋值
作者: xuxu5112    时间: 2015-9-20 22:09
if(里面的东西也执行不光判断true或者false) {
}
作者: outxf003    时间: 2015-9-20 22:11
这个应该C
b=false是对B的二次赋值
这个时候B就代表了false
if语句只会执行结果为true的语句
else if (b)结果为false  不执行
else if (!b)
感叹号代表了非b的意思
就是非false
结果为true
执行大括号里的语句输出C

作者: beyond1337    时间: 2015-9-20 22:13
if语句里只执行true的结果,而b=false为二次赋值然后判断,你应该明白了.
作者: super_qilin    时间: 2015-9-20 22:14
程序运行结果是c,if(b=false)是对b的赋值




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