`

Java条件短路操作

    博客分类:
  • Java
阅读更多
@Test
	void test() {
		boolean boolean1 = shortCircuit1 () && shortCircuit2 ();
		boolean boolean2 = shortCircuit2 () && shortCircuit1 ();
		System.out.println();
		boolean boolean3 = shortCircuit1 () || shortCircuit2 ();
		boolean boolean4 = shortCircuit2 () || shortCircuit1 ();
		
	}

	boolean shortCircuit1 () {
		System.out.println("短路1");
		return true;
	}
	
	boolean shortCircuit2 () {
		System.out.println("短路2");
		return false;
	}

 输出结果:

短路1

短路2

短路2

 

短路1

短路2

短路1

 

请分析一下为什么会这样.

分享到:
评论

相关推荐

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-079-Java基本语法-运算符-逻辑运算符-或操作的短路运算.avi 北京动力节点-Java编程零基础教程-080-Java基本语法-运算符-逻辑运算符-异或操作与非操作.avi 北京动力节点-Java编程...

    Thinking in java4(中文高清版)-java的'圣经'

    3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 3.9.1 指数记数法 3.10 按位操作符 3.11 移位操作符 3.12 三元操作符 if-else 3.13 ...

    java之&&与& -与- 的区别

    java中存在着与(&),短路与(&&),或(|)短路或(||)这些操作符: &&和&都是表示与,区别是&&只要满足第一个条件,后面条件就不用再做判断了。而&要对所有的条件都进行判断之后再处理。 ||和| 同上,都表示...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    Java面试宝典(传说中的葵花宝典).doc

    &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说两者的...

    Java学习题答案

    逻辑操作不会产生短路.如: int a = 0; int b = 0; if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0. if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3. 答对第一点得5分,答对第二点得10分....

    2.Java基础语法.ppt

    条件运算符:?:(三目运算符) 扩展赋值运算符:+=,-=,*=,/= 1.算数运算符(+,-,*,/,%,++,–) (1) 两个int类型数据运算,结果是int类型 两个操作数中只要有一个是double类型,那么结果是double类型...

    张孝祥java就业面试宝典

    &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说...

    java逻辑运算符的作用

    注意:逻辑计算支持短路操作 表达多个条件之间的关系。例如年龄大于等于18并且年龄小于65 &&:与运算,含义是两个条件必须同时成立,可以翻译为并且 ||:或运算,含义是两个条件中成立一个即可,可以翻译为或者 !:非...

    超级有影响力霸气的Java面试题大全文档

     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...

    编程思想下篇

    3.2 使用Java操作符 3.3 优先级 3.4 赋值 3.4.1 方法调用中的别名问题 3.5 算术操作符 3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 ...

    Linux C程序设计大全

    1.3.2 Java 1.3.3 Perl 1.3.4 Python 1.3.5 Ruby 1.3.6 PHP 第2章 控制结构 2.1 goto语句 2.1.1 C语言中的无条件跳转 2.1.2 使用goto语句进行出错处理 2.1.3 出错处理的一般模型 2.2 C语言中的分支结构 2.2.1 分支...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    4.2.2 理解条件逻辑操作符 66 4.2.3 短路求值 67 4.2.4 操作符的优先级和结合性总结 68 4.3 使用if语句来做出决策 68 4.3.1 理解if语句的语法 69 4.3.2 使用代码块来对语句进行分组 70 4.3.3 嵌套if语句 70 ...

Global site tag (gtag.js) - Google Analytics