逻辑运算符
-
代码示例
public class operator{ public static void main(String[] args){ // 与(&&) 或(||) 非(!) boolean a = true; boolean b = false; System.out.println("a && b:"+(a&&b)); // 与(&&)运算:只有两个变量都为真(true),运算结果才为 true System.out.println("a || b:"+(a||b)); // 或(||)运算:当两个变量有一个为真(true),运算结果才为 true System.out.println("!(a && b:)"+!(a&&b)); // 非(!)运算:如果 运算结果为 假(false),则将其 运算结果变为 真(true);如果 运算结果为 真(true),则将其 运算结果变为 假(false) } }
-
运算结果示例
a && b:flase a || b:true !(a && b):true
短路运算
-
代码示例
public class operator{ public static void main(String[] args){ //短路运算 int a = 5; boolean b = (a < 4) && (a++ < 4); //这里发生了短路运算,因为 依照顺序判断 (a < 4)的 boolean类型为 假(false),而 与(&&)运算 需要两个变量为 真(true),运算结果才为 真(true),因此当系统执行完 (a < 4)的 boolean类型为 假(false) 后不再往后继续进行(即发生了短路运算) System.out.println(b); System.out.println(a); } }
-
运算结果示例
false 5 // 因未进行 a 的自增(即未执行判断 (a++ < 4)),所以 a 的值依然是 5,而不是 6