zoukankan      html  css  js  c++  java
  • Java基础-逻辑运算符Logic Operators

                  Java基础-逻辑运算符Logic Operators

                                    作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

     一.逻辑运算符

      逻辑运算符是对布尔值进行操作运算的,常见的有:

        1>.逻辑与(&);

        2>.逻辑或(|);

        3>.逻辑异或(^);

        4>.逻辑非(!);

        5>.短路与(&&);

        6>.短路或(||);

       总结规律如下:

        1>."&":只有两个操作数都是true,结果才是true,其余都是false;
        2>."|":只要有一个操作数是true,结果就是true,其余都是false;
        3>."!":取反,true变false,false变true;
        4>.单操作数的只有一个;
        5>.异或的含义:求异,只有两个操作数不同,整个表达式才为true;

    二.案例展示

    1>.逻辑运算符的操作数与布尔值

     1 /*
     2 @author :yinzhengjie
     3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
     4 EMAIL:y1053419035@qq.com
     5 */
     6 
     7 public class LogicDome{
     8     public static void main(String[] args){
     9         
    10         //逻辑运算符的操作数与布尔值
    11         System.out.println( true & true );                //true
    12         System.out.println( false | true );            //true
    13         System.out.println( true ^ false );            //true
    14         System.out.println( true ^ true );                //false
    15         System.out.println( !true );                    //false
    16         System.out.println( !false );                    //true
    17         
    18     }
    19 }

    2>.短路与&&,操作结果与逻辑&一样(推荐使用)

     1 /*
     2 @author :yinzhengjie
     3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
     4 EMAIL:y1053419035@qq.com
     5 */
     6 
     7 public class LogicDome2{
     8     public static void main(String[] args){
     9         
    10         //短路与&&,操作结果与逻辑&一样
    11         int num = 2018;
    12         System.out.println( (num < 0) & ( ++num > 0) );        //false
    13         System.out.println( num );                                //2019
    14         
    15         //短路与&&,如果左侧表达式为false,不计算右侧表达式的值了
    16         num = 18;
    17         System.out.println( (num < 0) && ( ++num > 0) );        //false
    18         System.out.println( num );                                //18
    19     }
    20 }

    3>.短路或||,如果左侧为true,不计算右侧表达式的值了(推荐使用)

     1 /*
     2 @author :yinzhengjie
     3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
     4 EMAIL:y1053419035@qq.com
     5 */
     6 
     7 public class LogicDome3{
     8     public static void main(String[] args){
     9         
    10         //短路与||,如果左侧为true,不计算右侧表达式的值了
    11         int num = 2018;
    12         System.out.println( (num > 0) || ( ++num > 0) );        //false
    13         System.out.println( num );                                //2018
    14         
    15     }
    16 }

    4>.逻辑运算符经常用于链接多个布尔表达式

     1 /*
     2 @author :yinzhengjie
     3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
     4 EMAIL:y1053419035@qq.com
     5 */
     6 
     7 public class LogicDome4{
     8     public static void main(String[] args){
     9         
    10         //逻辑运算符经常用于链接多个布尔表达式
    11         int year = 2018;    
    12 
    13         /**
    14         判断某一年是否为闰年:
    15             能被4整除但是不能被100整除                    ||     直接能被400整除
    16             (能被4整除 && 不能被100整除)             ||     直接能被400整除
    17             (year%4==0 &&  year%100!=0)    ||    year%400==0;
    18         */
    19         
    20         boolean isPrime = (year%4==0 &&  year%100!=0)    ||    year%400==0;        //false
    21     
    22         System.out.println( isPrime);
    23         
    24     }
    25 }
  • 相关阅读:
    Kafka: Producer (0.10.0.0)
    Kafka:架构简介【转】
    ZooKeeper示例 分布式锁
    机器学习---人脸对齐的基于形状模型的训练
    人脸妆容迁移---研究和思考
    机器学习----人脸对齐的算法-ASM.AAM..CLM.SDM
    基于opencv+Dlib的面部合成(Face Morph)
    c语言编程-----指向二维数组的指针
    工具软件 PYUV打开raw图片
    eclipse 使用问题
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/8688081.html
Copyright © 2011-2022 走看看