🌲本文收录于专栏《Java入门练习100例》——试用于学完「Java基础语法」后的巩固提高及「LeetCode刷题」前的小试牛刀。
Java入门练习100例1-10源码 提取码: uqqe
题目描述
难度:简单
/** * 短路与和逻辑与 */ public class question_03 { public static void main(String[] args){ int i=5; boolean e = i > 6 & i++ > 7; System.out.println(e); System.out.println(i); e = i > 6 && i++ > 7; System.out.println(e); System.out.println(i); } }
请写出以上代码的输出
知识点
- 关系运算符
- 自增运算
解题思路
-
逻辑与(&)和短路与(&&)在运算上对条件的结果判断不会产生影响,但会对条件本身的运算有影响。
-
逻辑与(&)在运算时会连续运算所有需要判断的命令.但短路与当遇到
false
时就停止运算。
代码实现
分析
第一次判断是逻辑与,老实人不管对错,全部计算一下,则i++
被执行,输出e=false;i=6
;
第二次判断是短路与,机灵鬼先判断第一个是错的,就不再往下计算,i++
不被执行,输出e=false;i=6
;
验证
总结
在实际开发中为了增强代码的可读性,统一使用短路与,且不在判断条件中做任何运算。