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>.逻辑运算符的操作数与布尔值

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ public class LogicDome{
public static void main(String[] args){ //逻辑运算符的操作数与布尔值
System.out.println( true & true ); //true
System.out.println( false | true ); //true
System.out.println( true ^ false ); //true
System.out.println( true ^ true ); //false
System.out.println( !true ); //false
System.out.println( !false ); //true }
}

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

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

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

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

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

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ public class LogicDome4{
public static void main(String[] args){ //逻辑运算符经常用于链接多个布尔表达式
int year = 2018; /**
判断某一年是否为闰年:
能被4整除但是不能被100整除 || 直接能被400整除
(能被4整除 && 不能被100整除) || 直接能被400整除
(year%4==0 && year%100!=0) || year%400==0;
*/ boolean isPrime = (year%4==0 && year%100!=0) || year%400==0; //false System.out.println( isPrime); }
}

Java基础-逻辑运算符Logic Operators的更多相关文章

  1. Java基础-赋值运算符Assignment Operators与条件运算符Condition Operators

    Java基础-赋值运算符Assignment Operators与条件运算符Condition Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.赋值运算符 表 ...

  2. java基础--逻辑运算符-- 002

    1:int a = 10;int b = 20;boolean flag = (a == b) //falseboolean flag = (a = b) //报错,不兼容的类型 2: &, ...

  3. Java基础——逻辑运算符、位运算符

    逻辑运算符.位运算符.三元运算符 逻辑运算符  public class Demon05 {     public static void main(String[] args) {          ...

  4. java基础语法2-运算符与流程控制

    关键字-标识符-常量和变量-运算符-流程控制-方法-数组 5 运算符 算术运算符Arithmetic Operators 赋值运算符Assignment Operators 比较运算符Compare ...

  5. Java基础-算术运算符(Arithmetic Operators)

    Java基础-算术运算符(Arithmetic Operators) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java程序通过运算符实现对数据的处理,Java中的运算符包括: ...

  6. Java基础-比较运算符Compare Operators

    Java基础-比较运算符Compare Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关系运算符 关系运算符包括: 1>.大于(>) 2> ...

  7. Java基础-位运算符Bitwise Operators

    Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算特点 位运算符分为按位与(&),按位或(|),按位异或(^ ...

  8. 逻辑运算符,if、swtch语句(java基础知识三)

    1.逻辑运算符的基本用法 * A:逻辑运算符有哪些 &(逻辑与) |(逻辑或) !(逻辑非) ^(逻辑异或) &&(短路与) ||(短路或) * 注意事项: * a:逻辑运算符 ...

  9. 03 java语言基础逻辑运算符

    03.01_Java语言基础(逻辑运算符的基本用法) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连 ...

随机推荐

  1. ubuntu12.04安装OVS

    1.下载openVswitch ovs官网 2.运行如下脚本 #!/bin/bash cd /home/sdn/ovs/openvswitch- rm /usr/local/etc/openvswit ...

  2. python高并发和多线程的关系

    “高并发和多线程”总是被一起提起,给人感觉两者好像相等,实则 高并发 ≠ 多线程 多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发状态的实现.   高并发是一种系 ...

  3. 7、Docker监控方案(cAdvisor+InfluxDB+Grafana)

    一.组件介绍 我们采用现在比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控. 1.cAdvisor(数据采集) 开源软件cAdvisor(Container Adv ...

  4. 完爆Facebook/GraphQL,APIJSON全方位对比解析(三)-表关联查询

    相关阅读: 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能 完爆Facebook/GraphQL,APIJSON全方位对比解析(二)-权限控制 自APIJSON发布 ...

  5. nginx反向代理设置自定义错误页面

    为nginx反向代理设置自定义错误页面 转:https://blog.csdn.net/u014433030/article/details/77507839 如果我们的nginx配置了反向代理,如下 ...

  6. React笔记-首次渲染

    渲染机制 渲染机制主要分为两部分: 首次渲染和更新渲染. 首次渲染 首先通过一个小例子,来讲解首次渲染过程. <!DOCTYPE html> <html lang="en& ...

  7. Jenkins邮件通知

    Jenkins邮件通知 Jenkins 配备了一个开箱工具,添加一个电子邮件通知的构建项目. 第1步 - 配置SMTP服务器. 转到 Manage Jenkins → Configure System ...

  8. Linux内核分析——第四周学习笔记

    扒开系统调用的三层皮[上] 前言:以下笔记除了一些讲解视频中的概念记录,图示.图示中的补充文字.总结.分析.小结部分均是个人理解.如有错误观点,请多指教! 补充:[系统调用的参数传递方法]视频中讲解简 ...

  9. 用IDEA开发简单的Servlet

    最近学习java,主要是servlet相关的内容.IDEA和servlet之前都没有碰过,所以做了一下小实验,走了一些弯路:这里把一个完整的步骤写出来,加深一下印象. IDEA创建项目步骤 1. 在i ...

  10. KNY三人组对YiSmile小程序的项目总结

    设想和目标 1.我们的小程序要解决什么问题? 针对于本校学生,服务于本校学生.由于丢东西,找东西的事情每天都在上演,空间说说,朋友圈,官方QQ,信息比较冗杂,没有一个固定的平台来专门提供学生.此外,教 ...