首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何&& if循环表达式求值?

如何&& if循环表达式求值?
EN

Stack Overflow用户
提问于 2015-04-29 13:37:28
回答 6查看 82关注 0票数 0

在计算表达式(x==y && a<b)时,首先计算布尔表达式x==y,然后计算a<b。对还是错?

请解释一下工作原理。我对这个if表达式感到很困惑。

EN

回答 6

Stack Overflow用户

发布于 2015-04-29 13:40:51

&&运算符从左到右求值

如果首先计算x==y,然后计算a

如果您想要计算另一个表达式,即使第一个表达式倾向于false,我们可以使用& like

代码语言:javascript
运行
复制
  (x==y & a<b)

检查以下示例:

代码语言:javascript
运行
复制
 int x=10,y=9,count=0;
    if(x==y && ++count == 0){
        System.out.println("true");
    }
    System.out.println(count);

在本例中,输出将为0

代码语言:javascript
运行
复制
 int x=10,y=9,count=0;
    if(x==y & ++count == 0){
        System.out.println("true");
    }
    System.out.println(count);

在本例中,输出将为1。仔细检查运算符,我们使用了&

票数 2
EN

Stack Overflow用户

发布于 2015-04-29 13:44:22

对于&& (条件And) :-

x==y将首先计算,如果这是真的,那么它将计算a<b。作为条件-并从左到右求值。

如果你只使用&运算符:- (And运算符)

在这种情况下,这两个条件都将被评估。无论第一个条件(左侧条件)是失败还是通过。

票数 2
EN

Stack Overflow用户

发布于 2015-04-29 13:42:34

计算x==y,只有当它为真时,才会计算a<b

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29935184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档