15.逻辑运算符

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: Java 专栏: 【带小白】java基础速成 标签: 逻辑运算符

2025-11-25 15:02:41 97浏览

逻辑运算符

一、逻辑运算符概述

Java中常用的逻辑运算符包括:

运算符

名称

规则

&

逻辑与

两边都为true

时结果为true

(总是执行两边)

|

逻辑或

只要有一个符合要求即可

!

逻辑非

取反

(true→false,

false→true)

练习 1:随便给出一个整数,判断这个数字是否在 1~10 之间

练习 2:随便给出一个整数,判断这个数字是否不在 1~10 之间

二、短路逻辑运算符的特点

  1. &&(短路与)
    • 规则:左边为false时,右边不执行(提高效率)。
    • 示例
int a = 5;  
if (a > 10 && a < 20) { // 左边false,右边a<20不执行  
    System.out.println("成立");  
}
  1. ||(短路或)
    • 规则:左边为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的有缘数");
        }

    }
}

四、总结

  1. 短路运算符(&&、||)通过跳过不必要的执行提升性能。
  2. 应用场景
    • 避免空指针异常(如 str != null && str.equals("test"))。
    • 多条件组合判断(如回文数、有缘数)。
  1. 注意
    • & 和 | 总是执行两边表达式,可能影响效率。
    • 逻辑非 ! 可反转条件(如 !(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展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695