黑马程序员技术交流社区

标题: 初学Java,这个输出结果一直想不明白 [打印本页]

作者: 胡家兵    时间: 2015-6-22 09:53
标题: 初学Java,这个输出结果一直想不明白
class  ForTest4
{
        public static void main(String[] args)
        {
                boolean b =true;    //b =false

                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");
        }
}两种情况下结果是什么怎么来的?求大神解答



作者: guiqulaixi    时间: 2015-6-22 10:02
if(b=false)这一句b被赋值成false
if--else选择最先达到条件的执行
作者: 胡家兵    时间: 2015-7-13 21:48
现在我知道了,我题目也给错了啊
作者: dragonsoull    时间: 2015-7-13 21:54
打印结果应该是C吧。变量b被第一个判断语句if(b=false) 赋值成了false,第三个选项的if(!b)就是true了。
作者: CLTDEZHUCE    时间: 2015-7-13 22:17
false赋值给b,if(b),就是if(false)运行else 或else if的语句,if(ture)运行if下的语句,!false就是ture
作者: lsunshine    时间: 2015-7-13 22:31
看第一个if里面的是赋值运算
作者: 鹰隼展翼    时间: 2015-7-13 22:38
加油,多看看视频




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