15.逻辑运算符
分类: Java 专栏: 【带小白】java基础速成 标签: 逻辑运算符
2025-11-25 15:02:41 97浏览
逻辑运算符
一、逻辑运算符概述
Java中常用的逻辑运算符包括:
运算符 | 名称 | 规则 |
& | 逻辑与 | 两边都为true 时结果为true (总是执行两边) |
| | 逻辑或 | 只要有一个符合要求即可 |
! | 逻辑非 | 取反 (true→false, false→true) |
练习 1:随便给出一个整数,判断这个数字是否在 1~10 之间
练习 2:随便给出一个整数,判断这个数字是否不在 1~10 之间
二、短路逻辑运算符的特点
- &&(短路与)
- 规则:左边为false时,右边不执行(提高效率)。
- 示例:
int a = 5;
if (a > 10 && a < 20) { // 左边false,右边a<20不执行
System.out.println("成立");
}- ||(短路或)
- 规则:左边为true时,右边不执行(提高效率)。
- 示例:
int a = 15;
if (a < 10 || a > 20) { // 左边false,执行右边a>20
System.out.println("成立");
}关键点:短路运算符(&&、||)与普通运算符(&、|)逻辑相同,但短路运算符更高效!
三、案例实战
案例1:判断四位回文数
需求:随便给一个四位数,判断是否为回文数(如1221)。
代码实现:
public class LogicTest {
public static void main(String[] args) {
//判断回文数
//随便给一个四位数,判断是否为回文数(如1221)。
int num=1221;
//拆解数字 为个位、十位、百位、千位
int ge=num%10;
int shi=num/10%10;
int bai=num/100%10;
int qian=num/1000;
// System.out.println("个位="+ge);
// System.out.println("十位="+shi);
// System.out.println("百位="+bai);
// System.out.println("千位="+qian);
if(ge==qian && shi==bai){
System.out.println("是回文数");
}else{
System.out.println("不是回文数");
}
}
}
案例2:寻找7的有缘数
需求:定义一个两位整数,若包含7或是7的倍数,则为有缘数。
代码实现:
public class LogicTest2 {
public static void main(String[] args) {
//定义一个两位整数,若包含7或是7的倍数,则为有缘数。
int num=21;
if( num%10==7 || num/10==7 || num%7==0){
System.out.println("是7的有缘数");
}
}
}
四、总结
- 短路运算符(&&、||)通过跳过不必要的执行提升性能。
- 应用场景:
- 避免空指针异常(如 str != null && str.equals("test"))。
- 多条件组合判断(如回文数、有缘数)。
- 注意:
- & 和 | 总是执行两边表达式,可能影响效率。
- 逻辑非 ! 可反转条件(如 !(a > b) 等价于 a <= b)。
练习:用逻辑运算符实现“判断闰年”(能被4整除但不能被100整除,或能被400整除)。
public class LogicTest3 {
public static void main(String[] args) {
//逻辑运算符实现“判断闰年”(能被4整除但不能被100整除,或能被400整除)。
int year=2000;
if( (year%4==0 && year%100!=0) || year%400==0){
System.out.println(year+"是闰年");
}
}
}
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
他的专栏
他感兴趣的技术


新业务
springboot学习
ssm框架课
vue学习
【带小白】java基础速成