A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 耳东君 中级黑马   /  2014-3-26 11:11  /  1466 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 耳东君 于 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)是什么意思?

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

10 个回复

倒序浏览
b代表true  !b代表flase
回复 使用道具 举报
optimisticpig 来自手机 中级黑马 2014-3-26 12:17:13
藤椅
前面对b进行过初始化,所以b是ture,!b就是false
回复 使用道具 举报
这里的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  。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报 1 0
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 12:26
这里的b是一个布尔型变量,初始化为true,所以b就是true了,而!b就是false了 。你首先初始化的时候是b为真 ...

谢谢指导
回复 使用道具 举报
Zero霖 发表于 2014-3-26 13:11
if(b=false)语句将false值赋值给b并判断,由于是条件为false,故跳到第一个else if(b),此时b=false,继续 ...

谢谢拉终于知道拉!
回复 使用道具 举报
多多讨论讨论啊。我也是新手 好多都不懂。。这玩意 还真不是一看就会的啊。。后面的路还长着呢。
回复 使用道具 举报
b=ture       !b=flase
回复 使用道具 举报
b是一个boolean类型的变量 初始值为true,在第一个if(b=false)这时b重新赋值为false条件不符合转到else if(b)即else if(false)不符合继续转到 else if(!b)即 else if(true) 打印c
回复 使用道具 举报
!b表示对b取反
b为true时,!b为false
b为false时,!b为true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马