问题描述
- 关于java中boolean问题
-
如图示,定义了一个boolean变量,赋值false,在test方法中if语句判断值,如果if判断代码是(b==false),则会执行语句;而为(b=false)或(b=true)时也可以,这样代表什么意思呢?
解决方案
更糟糕的是,无论b原来是什么,b=false都会把b设置为false,而b=true都会把b设置为true。
bool的值,根本不需要b == true或者b == false,直接写if (b)或者if (!b),也就不会出现把==写成=了。
解决方案二:
b=false永远返回false
b=true永远返回true
解决方案三:
JAVA包装类Boolean的使用
关于Java的Boolean.getBoolean方法
解决方案四:
因为=是赋值,而==是判断
解决方案五:
=(b=false和b=true)是赋值运算符,代表把右边的值赋值给左边的变量
==是条件运算符,代表的是对比左右两边是否相等
解决方案六:
=是赋值 ==是比较
判断boolean值是 if(flag){} / if(!flag){}来判断true / false 就行了
解决方案七:
其实if(b=false)执行了两个步骤。
1:b=false对b进行了赋值
2:if(b)用b做为条件状态。
所以如果b本身值是前面代码判断后赋值了的话,这里会把b值覆盖掉。导至b值不是关面代码赋值的结果。
解决方案八:
=是赋值,==才是判断
解决方案九:
=和==是不同的
判断是最好用if(flag){} 就行
解决方案十:
=是赋值表达式,a=false执行的是赋值操作,操作执行是成功的。返回当然是true了。
时间: 2024-08-31 04:16:39