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

时间:2012-08-05 12:34:00

标签: java

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

例如:

if (!networkConnected()) 

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

6 个答案:

答案 0 :(得分:15)

是的,这确实意味着逻辑上相反。它甚至适用于 等于 运算符。

假设你的方法返回一个基本的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());

答案 1 :(得分:9)

是的,这是布尔否定

所以

true == true
!true == false
!!true == true
!!!true == false

同样使用false

!false == true

这个一元运算符的实际名称是Logical Complement Operator,它反转了布尔值

答案 2 :(得分:0)

是。感叹号否定了旁边出现的布尔值。

答案 3 :(得分:0)

准确回答您的问题:。此运算符!=不是否定。它表示NOT IDENTICAL,与==相反,代表身份。

答案 4 :(得分:0)

var apartments = await db.Apartments .Include(m => m.Images.Select(c => c.Activity)) .Include(m => m.Address) .Where(m => m.Images.Any(c => c.Activity.Active)) .Where(m => m.Activity.Active) .Where(m => m.Listed) .Where(m => m.Activity.User.Active).OrderBy(m => Guid.NewGuid()) .Take(4) .ToListAsync(); 是一个一元运算符,用于切换表达式的布尔值。

考虑以下代码:

!

所以:

  

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

是!

答案 5 :(得分:-4)

在java中,感叹号(!)用于反转值,我们也称为布尔否定运算符(!=not equal to)。

  

示例:if(字符串变量!= null)这里检查是否为字符串变量   是null或not.null表示如果不执行块。否则它将   被执行。