当前位置: 首页 > 知识库问答 >
问题:

姬正文
2023-03-14

在OracleJava文档中提到

请查看以下代码:

class TestLogicalOperators
{
public static void main(String... args)
{

    if(doFalse() || doTrue1() && doTrue2() )
    {
        System.out.println(true+" inside if");
    }

}

static boolean doTrue1()
{
    System.out.println("doTrue1");
    return true;
}

static boolean doTrue2()
{
    System.out.println("doTrue2");
    return true;
}

static boolean doFalse()
{
    System.out.println("doFalse");
    return false;
}

}

如果

现在如果

共有3个答案

谭成业
2023-03-14

否,通常先执行OR操作的第一个条件。其中如果评估为假,进一步检查第二个条件。否则就不会。

郎华皓
2023-03-14

您对文档的理解有误。这并不意味着

在您的示例中,您可以注意到编译器正在从左到右检查if语句的条件。

如果我们从左向右走,条件是:(注意括号)

if((doFalse() || doTrue1()) && doTrue2() ) 
{
  //This means either doFalse or doTrue1 would be true and doTrue2 would be true
}

但是由于

if(doFalse() || (doTrue1() && doTrue2())) 
{
    //This correctly means either doFalse is true or doTrue1 and doTrue2 are true
}

康文昌
2023-03-14

doFalse()||doTrue1()

... 也可以理解为:

doFalse() || ( doTrue1()

这并不意味着

如果第一个操作数为true,则|运算符可以是快捷方式(即不计算第二个操作数)。

见下面的例子:

// no shortcut, evaluates (true && false) and returns false anyway 
System.out.println(false || true && false);
// no shortcut, evaluates (true && true) and returns true
System.out.println(false || true && true);
// shortcut (see warning), evaluates true and disregards "&&" expression
System.out.println(true || false && false);

 类似资料:
  • 本文向大家介绍以下是某移动端社交APP一周的每日活跃用户数,该APP主要用户群是年轻学生,请回答以下两个问题(图见下方)a)从数据中,你看到了什么问题?你觉得背后的原因是什么?b)要验证这些原因,你会怎么做?请简述您的调研方案。相关面试题,主要包含被问及以下是某移动端社交APP一周的每日活跃用户数,该APP主要用户群是年轻学生,请回答以下两个问题(图见下方)a)从数据中,你看到了什么问题?你觉得背

  • 本文向大家介绍某一天,你的上司给你看了下微信APP,然后对你说做一款一模一样的出来,请你讲讲应该怎么进行这个项目?相关面试题,主要包含被问及某一天,你的上司给你看了下微信APP,然后对你说做一款一模一样的出来,请你讲讲应该怎么进行这个项目?时的应答技巧和注意事项,需要的朋友参考一下 1、先确认真实需求。向上司确认需求,为什么我们要做一款一模一样的产品,我们可以切入不同的用户群体,降低用户成本吗?还

  • 本文向大家介绍某医疗美容APP要做用户调研,需要招募一些做过医疗美容项目的用户,如割过双眼皮、打过瘦脸针、做过激光美容等,你认为可以通过哪些渠道进行招募?相关面试题,主要包含被问及某医疗美容APP要做用户调研,需要招募一些做过医疗美容项目的用户,如割过双眼皮、打过瘦脸针、做过激光美容等,你认为可以通过哪些渠道进行招募?时的应答技巧和注意事项,需要的朋友参考一下 1、在提供医疗项目的美容院向客户发放

  • 问题内容: 在研究JSON与XML的问题时,我遇到了这个问题。现在,选择JSON的原因之一是Java的易于转换,即使用。现在,从安全角度来看,这立即使我感到潜在的问题。 因此,我开始对JSON的安全性方面进行研究,并在此博客文章中就JSON的安全性不如人们认为的那样进行了研究。这部分突出: 更新: 如果您正确地执行JSON 100%,那么您只会在顶层拥有对象。数组,字符串,数字等都将被包装。然后,

  • 问题内容: 如果我在SQL Server Express 2008上运行此查询: 它将日期存储为2011年4月11日 我该如何预防呢? 问题答案: 使用ISO-8601格式:(或)-无论您使用哪种SQL Server语言和区域设置,它始终有效。 SQL Server中的日期 不 以任何特定的面向字符串的格式存储-日期即是日期即是日期,无论您看到什么。 您会看到日期的字符串表示形式-但又一次:日期

  • 问题内容: 我使用Java并使用sdk 7编译此代码。控制台显示: 输入= 2010/03/30 输出= 2010/12/28 问题答案: 至于文档https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html 大写字母代表a中的天数,如果您想要a中的天数,则应使用小写。 同为和:

  • 问题内容: 在我一直在构建的应用程序中,我们相当依赖于SharedPreferences,这使我思考了访问SharedPreferences时的最佳实践。例如,许多人说通过此调用可以访问它: 但是,这似乎很危险。如果您有依赖于SharedPreferences的大型应用程序,则可能会有密钥重复,尤其是在使用某些也依赖SharedPreferences的第三方库的情况下。在我看来,更好的使用方法是:

  • 问题内容: 如果一个类实现了另一个类,那是什么意思?我找到了以下代码示例:http : //www.java2s.com/Code/Php/Class/extendsandimplement.htm 但不幸的是,它没有任何解释… 问题答案: 实现是指它采取接口指定的指定 行为 。考虑以下接口: 无论是和类实现的接口。 接口的优点在于,我们现在可以通过接口引用此类的实例。考虑以下示例: 该循环的输出