逻辑运算符 &&、||
短路逻辑运算符
与 逻辑运算符
的区别是:
-
逻辑运算符
:所有条件都执行一遍 -
短路逻辑运算符
:一旦符合条件,立即终止
package com.fh.base; public class T { public static void main(String[] args) { int a = 3; int b = 3; int c = 3; int d = 3; /** * 逻辑运算符&& 短路 * 两个变量都为真,结果才为true =》 * 如果左边为真,右边执行; * 如果左边为假,右边不执行。 */ System.out.println(a > 5 && a++ == 4); System.out.println(a); System.out.println(a < 5 && a++ == 4); System.out.println(a); System.out.println("________________&&__________________"); /** * 逻辑运算符|| 短路 * 两个变量有一个为真,结果就为true=》 * 如果左边为真,右边不执行; * 如果左边为假,右边执行。 */ System.out.println(b > 5 || b++ == 4); System.out.println(b); System.out.println(b < 5 || b++ == 4); System.out.println(b); System.out.println("________________||__________________"); /** * 逻辑运算符 & * 两个变量都为真,结果才为true =》 * 如果左边为真,右边执行; * 如果左边为假,右边执行。 */ System.out.println(c > 5 & c++ == 4); System.out.println(c); //System.out.println(c < 5 & ++c == 4);//false System.out.println(c < 5 & c++ == 4);//true System.out.println(c); System.out.println("________________&__________________"); /** * 逻辑运算符 | * 两个变量有一个为真,结果就为true=》 * 如果左边为真,右边执行; * 如果左边为假,右边执行。 */ System.out.println(d > 5 | d++ == 4); System.out.println(d); System.out.println(d < 5 | d++ == 4); System.out.println(d); System.out.println("________________|__________________"); } }