|NO.Z.00041|——————————|BigDataEnd|——|Java&运算符.V08|——|Java.v08|运算符.v08|逻辑运算符|短路特性|
一、[逻辑运算符概念使用]——[逻辑运算短路特性]
### --- 逻辑运算符概念
~~~ ——> && 表示逻辑与运算符,相当于"并且",同真为真,一假为假。
~~~ ——> || 表示逻辑或运算符,相当于"或者",一真为真,同假为假。
~~~ ——> ! 表示逻辑非运算符,相当于"取反",真为假,假为真。
~~~ ——> 逻辑运算符的操作数均为boolean表达式。
二、逻辑运算符图解
b1 | b2 | b1&&b2 | b1||b2 | !b1 |
false | false | false | false | true |
false | true | false | true | |
true | false | false | true | false |
true | true | true | true |
三、逻辑运算符短路特性
### --- 逻辑运算符短路特性
~~~ ——>对于逻辑运算符来说,若第一个表达式为假则结果为假,此时跳过第二表达式
~~~ ——>对于逻辑或运算符来说,若第一个表达式为真则结果为真,此时跳过第二个表达式
四、编程代码
### --- 编程代码
/*
编程实现逻辑运算符的使用
*/
public class LogicTest {
public static void main(String[] args) {
// 1.声明两个boolean类型的变量并初始化
boolean b1 = true;
boolean b2 = false;
// 2.打印变量的数值
System.out.println("b1 = " + b1); // b1 = true
System.out.println("b2 = " + b2); // b2 = false
System.out.println("---------------------------------------------");
// 3.使用上述变量实现逻辑运算符的使用
boolean b3 = b1 && b2;
System.out.println("b3 = " + b3); // false
System.out.println(b1 && b2); // false 并且
System.out.println(b1 || b2); // true 或者
System.out.println(!b1); // false 取反
System.out.println(!b2); // true
System.out.println("---------------------------------------------");
// 4.测试一下短路特性
int ia = 3;
int ib = 5;
// 对于逻辑与运算符来说,若第一个条件为假则整个表达式为假,此时跳过第二个表达式不执行
boolean b4 = (++ia == 3) && (++ib == 5);
System.out.println("b4 = " + b4); // false
System.out.println("ia = " + ia); // 4
System.out.println("ib = " + ib); // 5
// 对于逻辑或运算符来说,若第一个条件为真则整个表达式为真,此时跳过第二个表达式不执行
boolean b5 = (++ia == 5) || (++ib == 5);
System.out.println("b5 = " + b5); // true
System.out.println("ia = " + ia); // 5
System.out.println("ib = " + ib); // 5
}
}
五、编译打印
### --- 编译
C:\Users\Administrator\Desktop\project>javac LogicTest.java
### --- 打印输出
C:\Users\Administrator\Desktop\project>java LogicTest
b1 = true
b2 = false
---------------------------------------------
b3 = false
false
true
false
true
---------------------------------------------
b4 = false
ia = 4
ib = 5
b5 = true
ia = 5
ib = 5
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv001-Java语言基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通