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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Test5 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                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");
                }

        }

}
这道题的怎么是输出c字符,帮忙解释一下详细的,以前做过,现在忘记怎么做了。。

8 个回复

倒序浏览
b=false,那么b被赋值false,第一个if不执行,第二个else if不执行,第三个else if执行。
回复 使用道具 举报
第一个if ,b就变了
回复 使用道具 举报
小雨皮 发表于 2016-6-28 13:58
第一个if ,b就变了

我有什么不懂得问题,在论坛的你们都会为我解决,谢谢你们!~!!
回复 使用道具 举报
Ake丶 发表于 2016-6-28 10:43
b=false,那么b被赋值false,第一个if不执行,第二个else if不执行,第三个else if执行。 ...

谢谢你,解析的很好,
回复 使用道具 举报
b=false是赋值运算
回复 使用道具 举报
迅雷 中级黑马 2016-6-30 00:21:16
7#
if (b = false) 是一个赋值运算,将false赋值给b,else if(b),b为false,执行语句不执行,else if(!b),!bS结果是true,执行语句输出c
      
回复 使用道具 举报
bitwdh 高级黑马 2016-6-30 10:59:19
8#
迅雷 发表于 2016-6-30 00:21
if (b = false) 是一个赋值运算,将false赋值给b,else if(b),b为false,执行语句不执行,else if(!b),!bS结果 ...

明白了,谢谢你的热心解答!!!
回复 使用道具 举报
bitwdh 高级黑马 2016-6-30 11:07:34
9#
sgnx 发表于 2016-6-29 22:07
b=false是赋值运算

谢谢,我明白了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马