我想确认!=
控制语句中布尔表达式之前的含义是相反的:
例如:
if (!networkConnected())
这是否意味着“如果网络未连接”?
是的,这确实意味着逻辑上的相反。它甚至适用于等于运算符。
假设你的方法返回一个基本的 bool 类型
// means the Network is NOT connected
if (!NetworkConnected())
这相当于
if (NetworkConnected() != true)
所以逻辑上意味着
if (NetworkConnected() == false)
现在假设您的方法返回一个布尔值(实际上是一个真实的对象),这意味着
// means the Network is NOT connected
if (! Boolean.TRUE.equals(NetworkConnected());
或者
if (Boolean.FALSE.equals(NetworkConnected());
是的,这是布尔否定
所以
true == true
!true == false
!!true == true
!!!true == false
同样与 false
!false == true
这个一元运算符的实际名称是Logical Complement Operator
反转布尔值的
是的。感叹号否定出现在它旁边的布尔值。
准确回答您的问题:不。这个运算符!=
不是否定的。它意味着NOT IDENTICAL
并且与它的对立面==
代表身份。
!
是切换表达式的布尔值的一元运算符。
考虑以下代码:
boolean b = true;
System.out.println(!b); // outputs: false
System.out.println(!!b); // outputs: true
b = !b; // first switch: b is false now
b = !b; // second switch: b is true now
所以:
这是否意味着“如果网络未连接”?
是的!
在java中,感叹号(!
)用于反转值,也称为布尔否定运算符(!=
不等于)。
例子:if(string variable!=null) 这里检查string variable是否为null。null表示block没有被执行,否则会被执行。