Java中的感叹号是什么意思?

在控制语句中的布尔表达式意味着相反之前,我想确认!=的含义:

例如:

 if (!networkConnected()) 

这是否意味着“如果网络没有连接”?

是的,它确实意味着逻辑相反。 它甚至可以与equals运算符一起使用。

假设你的方法返回一个基本的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 == 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(字符串变量!= null)这里检查字符串变量是否为空.null表示是否未执行块。否则将执行。