逻辑运算符

逻辑运算符

符号作用
&&逻辑 与 运算符,相当于"并且",同真为真,一假为假
||逻辑 或 运算符,一真为真,同假为假。相当于"或者
!逻辑 非 运算符,相当于"取反",真为假,假为真
  • 逻辑运算符的操作数均为boolean表达式。
/**
 * 编程实现逻辑运算符的使用
 */
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);//b1 = false
        System.out.println(b1 && b2);//false 并且
        System.out.println(b1 || b2);//true  或者
        System.out.println(!b1);//false 非
        System.out.println(!b2);//true  非
    }
}

显示结果:
在这里插入图片描述

逻辑运算符的图解

在这里插入图片描述

逻辑运算符的短路特性

短路特性:
在逻辑运算中,第一个条件就可以判断出表达式的结果而跳过第二个条件的判断的特性

  • 对于逻辑与运算符来说,若第一个表达式为假则结果为假,此时跳过第 二个表达式;
  • 对于逻辑或运算符来说,若第一个表达式为真则结果为真,此时跳过第 二个表达式;
/**
 * 编程实现短路特性的使用
 */
public class LogicTest {
    public static void main(String [] args) {
        //1.测试短路特性
        int ia = 3;
        int ib = 5;
        //对于逻辑与运算符来说,若第一个条件为假则整个表达式为假,此时跳过第二个表达式不执行
        //            4 == 3 第一个就是false 直接跳过第二个条件
        boolean b4 = (++ia == 3)&&(++ib == 5);
        System.out.println("b4 = "+b4);//false
        System.out.println("ia = "+ia);//4
        System.out.println("ib = "+ib);//5  因为直接跳过了第二个条件,所以第二个条件不执行,还是原来的数字

        System.out.println("=====================");

        //对于逻辑或运算符来说,若第一个条件为真则结果为真,此时跳过第 二个表达式;
        //              5 == 5  第一个为true
        boolean b5 = (++ia == 5)||(++ib == 5);
        System.out.println("b5 = "+b5);//true
        System.out.println("ia = "+ia);//5
        System.out.println("ib = "+ib);//5 因为直接跳过了第二个条件,所以第二个条件不执行,还是原来的数字
    }
}

显示结果
在这里插入图片描述

案例题目(逻辑运算符判断三位数)

提示用户输入一个正整数,使用逻辑运算符判断该正整数是否为三位数, 若是则打印true,否则打印false。

import java.util.Scanner;
/**
 *  提示用户输入一个正整数,使用逻辑运算符判断该正整数是否为三位数, 若是则打印true,否则打印fale。
 */
public class LogicTest {
    public static void main(String [] args) {
        //1.提示用户输入一个正整数
        System.out.println("请输入一个正整数:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        //2.使用逻辑运算符判断该正整数是否为三位数 >=100  <=999
        //System.out.println(100 <= num <= 999); 错误: 二元运算符 '<=' 的操作数类型错误
        boolean b1 = num>=100 && num<=999;
        //逻辑运算符主要用于连接多个关系运算符作为最终运算的表达式,用于实现多条件的连接  类似于 关系运算符的升级
        System.out.println(b1);
    }
}

显示结果
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~忆缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值