黑马程序员技术交流社区

标题: 谁帮看下,这个代码的流程。 [打印本页]

作者: hejinze    时间: 2015-4-28 21:45
标题: 谁帮看下,这个代码的流程。
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
作者: 罗尖栋    时间: 2015-4-28 21:49
if(b=false)里面b的值已经改变
作者: Ray丶少年    时间: 2015-4-29 09:18
= 是赋值动作
==才是判断是否相等的动作
作者: huanmenglt    时间: 2015-4-29 10:19
if(b=false)不是判断,而是将false赋值给b
作者: huanmenglt    时间: 2015-4-29 10:20
huanmenglt 发表于 2015-4-29 10:19
if(b=false)不是判断,而是将false赋值给b

所以if(b=false)等于if(false)
作者: 陈明佳    时间: 2015-4-29 10:30
b=false就已经将b付为false,!b就为turn,所以c
作者: chm0327    时间: 2015-4-30 11:07
=是赋值,==才是判断
b=false这条语句就已经改变b的值了,所以打印值为c
作者: dengxing    时间: 2015-4-30 11:17
==是判断,=才是赋值




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