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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lrwillinggerry 中级黑马   /  2016-8-25 02:50  /  540 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heima.HelloWorld;

public class HelloWorld {

        /**
         * @param args
         */
        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");
                }
        }
}

为什么if内的b能够赋值?

8 个回复

倒序浏览
悠悠呦呦 来自手机 中级黑马 2016-8-25 08:57:24
沙发
b是变量 可以赋值 boolean型
回复 使用道具 举报
这不是测试题吗?因为if括号中只是布尔型  你把b赋值false  括号中不就是false吗  虽然我一开始也不太理解  哈哈
回复 使用道具 举报
括号内的表达式返回值只要是布尔类型的就行
回复 使用道具 举报
if()括号中的条件表达式返回值类型只要是布尔类型即可,并且括号内的值只接受布尔类型
回复 使用道具 举报
if内的值要么是真,要么是假,正因为是给b赋了一个布尔类型的值,能满足if的判断条件,换成别的类型的就不行了
回复 使用道具 举报
- -只要是布尔型的都可以的吧
回复 使用道具 举报
if()里的条件表达式只能是布尔类型,而b你已经把他定义为布尔类型.所以括号里可以直接写b
回复 使用道具 举报
因为 b是 boolean类型的变量  if()里面结果是boolean类型就可以 所以给b赋值false是可以
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马