首页 > 编程语言 >Java 逻辑运算

Java 逻辑运算

时间:2023-03-08 21:14:19浏览次数:37  
标签:逻辑运算 Java ++ System println false true out

逻辑运算

基本语法

逻辑运算符,操作的都是boolean类型的变量或常量,而且运算得结果也是boolean类型的值。

运算符说明:

           & 和 &&:表示"且"关系,当符号左右两边布尔值都是true时,结果才能为true。否则,为false。

           | 和 || :表示"或"关系,当符号两边布尔值有一边为true时,结果为true。当两边都为false时,结果为false

           ! :表示"非"关系,当变量布尔值为true时,结果为false。当变量布尔值为false时,结果为true。

           ^ :当符号左右两边布尔值不同时,结果为true。当两边布尔值相同时,结果为false。

 理解:异或,追求的是“异”!逻辑运算符用于连接布尔型表达式,在Java中不可以写成 3 < x < 6,应该写成x > 3 & x < 6 。

区分“&”和“&&”:

           相同点:如果符号左边是true,则二者都执行符号右边的操作

           不同点:& : 如果符号左边是false,则继续执行符号右边的操作

              && :如果符号左边是false,则不再继续执行符号右边的操作

            建议:开发中,推荐使用 &&

区分“|”和“||”:

    相同点:如果符号左边是false,则二者都执行符号右边的操作

    不同点:| : 如果符号左边是true,则继续执行符号右边的操作

                 || :如果符号左边是true,则不再继续执行符号右边的操作

     建议:开发中,推荐使用 ||

示例

        int a = 3;
        int b = 4;
        int c = 5;
        //&;有 false 返回 false
        System.out.println((a > b) & (a > c)); // flase
        System.out.println((a > b) & (a < c)); // flase
        System.out.println((a < b) & (a > c)); // flase
        System.out.println((a < b) & (a < c)); // true
        //! 有 true 返回 true
        System.out.println((a > b) | (a > c)); //false
        System.out.println((a > b) | (a < c)); //true
        System.out.println((a < b) | (a > c)); //true
        System.out.println((a < b) | (a < c)); //true
        //^ 相同 flase .不同 true
        System.out.println((a > b) ^ (a > c)); //fasle
        System.out.println((a > b) ^ (a < c)); //true
        System.out.println((a < b) ^ (a > c)); //true
        System.out.println((a < b) ^ (a < c)); //fasle

        //! 非,取反
        System.out.println(!false); // true
        System.out.println(!true); //flase
        //& 和 &&
        System.out.println((a > b) & (a++ > c)); //fasle
        System.out.println("a = " + a); // 
        System.out.println((a > b) && (a++ > c)); //fasle
        System.out.println("a = " + a); // 
        System.out.println((a == b) && (a++ > c));  //false
        System.out.println("a = " + a); // 
        //| 和 ||
        System.out.println((a > b) | (a++ > c)); //true
        System.out.println("a = " + a); // 
        System.out.println((a > b) || (a++ > c)); //true
        System.out.println("a = " + a); // 
        System.out.println((a == b) || (a++ > c)); // true
        System.out.println("a = " + a); //  

 综合练习

1. 定义类 CompareLogicExer
2. 定义 main方法
3. 定义一个int类型变量a,变量b,都赋值为20
4. 定义boolean类型变量bo1 , 判断++a 是否被3整除,并且a++ 是否被7整除,将结果赋值给bo1
5. 输出a的值,bo1的值
6. 定义boolean类型变量bo2 , 判断b++ 是否被3整除,并且++b 是否被7整除,将结果赋值给bo2
7. 输出b的值,bo2的值

int a = 20;
        int b = 20;
        boolean bol = ((++a % 3) == 0) && (((a++ & 7) == 0));
        System.out.println("bol 值为 " + bol);   //false     ;
        System.out.println("a 值为 " + a); //22
        boolean bo2 = ((b++ % 3) == 0) && (((++b & 7) == 0));
        System.out.println("bo2 值为 " + bo2);   //false     ;
        System.out.println("b值为 " + b); //21

练习:程序输出

        boolean x = true;
        boolean y = false;
        short z = 42;
        
        if ((z++ == 42) && (y = true)) {
            z++;
        }
        if ((x = false) || (++z == 45)) {
            z++;
        }
        System.out.println("z=" + z);

标签:逻辑运算,Java,++,System,println,false,true,out
From: https://www.cnblogs.com/wdh01/p/17134668.html

相关文章

  • java线程池并行
    一:java线程池并行 importorg.junit.Test;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.CountDownLatch;importjava.util.concu......
  • JavaDoc生成文档
    JavaDocjavadoc命令是用来生成自己API文档的参数信息@author作者名@version版本号@since指明需要最早使用的jdk版本@param参数名@return参数名@throws异常......
  • JAVA多线程处理大量数据
    背景说明:要对服务器上一个目录进行全量文件读取,采用传统的单线程性能较差,耗时严重。1、多线程执行类--FileThreadUtils.javaimportcn.hutool.core.collection.CollUtil......
  • JAVA 实现导入导出Excel-02随笔
    忙碌的一天第一天写博客就让我煞费苦心,从上午完成的第一篇开始,具目前为止已经是下午18:41了;读者可能好奇为什么写这一篇随笔,我只能回答说太无聊了哈哈哈;其实不然,刚到......
  • 【SQL】 逻辑运算符与位运算符
    逻辑运算符   ......
  • 获取当前jar包路径_java获取jar文件
    一、获取可执行jar包所在目录(1)方法一:使用System.getProperty("java.class.path")获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包的绝对......
  • 获取当前jar包路径_java获取jar文件
    一、获取可执行jar包所在目录(1)方法一:使用System.getProperty("java.class.path")复制获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包......
  • Java多种方法实现等待所有子线程完成再继续执行
    简介在现实世界中,我们常常需要等待其它任务完成,才能继续执行下一步。Java实现等待子线程完成再继续执行的方式很多。我们来一一查看一下。Thread的join方法该方法是Thre......
  • java springboot mybatis plus 3.4 实现执行任意 sql 语句
    试了SqlRunner一直失败,不知道原因,于是试了如下方法,完美解决。@AutowiredprivateSqlSessionFactorysqlSessionFactory;publicList<Map<String,Object>>exec......
  • 【JavaScript】38_对象的序列化----JSON
    3、对象的序列化对象的序列化JS中的对象使用时都是存在于计算机的内存中的序列化指将对象转换为一个可以存储的格式在JS中对象的序列化通常是一个对象转换为字符串(JSON字......