黑马程序员技术交流社区

标题: if的条件表达式问题 [打印本页]

作者: lrwillinggerry    时间: 2016-8-25 02:50
标题: if的条件表达式问题
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能够赋值?
作者: 悠悠呦呦    时间: 2016-8-25 08:57
b是变量 可以赋值 boolean型
作者: double_x    时间: 2016-8-25 09:02
这不是测试题吗?因为if括号中只是布尔型  你把b赋值false  括号中不就是false吗  虽然我一开始也不太理解  哈哈
作者: aabbcc2    时间: 2016-8-25 10:23
括号内的表达式返回值只要是布尔类型的就行
作者: 小超超    时间: 2016-8-25 10:38
if()括号中的条件表达式返回值类型只要是布尔类型即可,并且括号内的值只接受布尔类型
作者: 别离如也    时间: 2016-8-25 18:30
if内的值要么是真,要么是假,正因为是给b赋了一个布尔类型的值,能满足if的判断条件,换成别的类型的就不行了
作者: 醉梦乘风    时间: 2016-8-25 18:54
- -只要是布尔型的都可以的吧
作者: 小胖妞    时间: 2016-8-25 19:13
if()里的条件表达式只能是布尔类型,而b你已经把他定义为布尔类型.所以括号里可以直接写b
作者: suifeng1987    时间: 2016-8-26 00:48
因为 b是 boolean类型的变量  if()里面结果是boolean类型就可以 所以给b赋值false是可以




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