黑马程序员技术交流社区

标题: 新手问题 [打印本页]

作者: 耳东君    时间: 2014-3-26 11:11
标题: 新手问题
本帖最后由 耳东君 于 2014-3-26 15:16 编辑

class Demo
{
        public static void main(String[] args)
        {
                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)和(非b)是什么意思?
作者: H-Deka    时间: 2014-3-26 11:43
b代表true  !b代表flase
作者: optimisticpig    时间: 2014-3-26 12:17
前面对b进行过初始化,所以b是ture,!b就是false
作者: 海世山盟    时间: 2014-3-26 12:26
这里的b是一个布尔型变量,初始化为true,所以b就是true了,而!b就是false了 。你首先初始化的时候是b为真,然而在第一次if(b=false)时,你又重新个b初始化为假,(注意第一个不是判断,判断应该是if(b==false)),所以程序真正判断开始=是从else if(b),开始的,此时b为false 执行下一条 esle if(!b),b为假,非b为真,故打印了c  。
作者: Zero霖    时间: 2014-3-26 13:11
if(b=false)语句将false值赋值给b并判断,由于是条件为false,故跳到第一个else if(b),此时b=false,继续跳到else if(!b),!b=true,所以执行该if语句中的内容即System.out.println("c"),输出c。b和!b的意思是,如果b=true,!b=false;如果b=false,!b=true.
作者: 耳东君    时间: 2014-3-26 15:17
海世山盟 发表于 2014-3-26 12:26
这里的b是一个布尔型变量,初始化为true,所以b就是true了,而!b就是false了 。你首先初始化的时候是b为真 ...

谢谢指导
作者: 耳东君    时间: 2014-3-26 15:18
Zero霖 发表于 2014-3-26 13:11
if(b=false)语句将false值赋值给b并判断,由于是条件为false,故跳到第一个else if(b),此时b=false,继续 ...

谢谢拉终于知道拉!
作者: 海世山盟    时间: 2014-3-26 20:44
多多讨论讨论啊。我也是新手 好多都不懂。。这玩意 还真不是一看就会的啊。。后面的路还长着呢。
作者: 杨殿生    时间: 2014-3-27 18:09
b=ture       !b=flase
作者: 橡皮-leo    时间: 2014-3-27 19:40
b是一个boolean类型的变量 初始值为true,在第一个if(b=false)这时b重新赋值为false条件不符合转到else if(b)即else if(false)不符合继续转到 else if(!b)即 else if(true) 打印c
作者: leon_hm    时间: 2014-3-27 20:44
!b表示对b取反
b为true时,!b为false
b为false时,!b为true




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