java中有4个逻辑运算符:&与,&& 逻辑与,| 或,|| 逻辑或
这些运算符要求操作数和结果值都是布尔型。

a&&b   a||b
1) 逻辑与&&:只有a和b都为真,结果才为真;其余情况结果均为假。逻辑与 ---- > and并且。
2) 逻辑或||:只有a和b都为假,结果才为假;其余情况结果均为真。逻辑或 ---- > or或者。
    &和&&的返回值规则是:两个操作数都为true才返回true
    |和||的返回值规则是:两个操作数只要有为true才返回true
 
&& 和||会发生短路现象:
对于a&&b逻辑与来说,当第一个表达式a为false时,就不再判断第二个表达式了,直接返回false。
对于a||b来说,当第一个表达式a为true时,就不再判断第二个表达式了,直接返回true。
例子1:
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
boolean i = (a < b) && (c < d);
System.out.println(i);   //返回true
 
例子2:  
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
boolean j = (a < b) && ((e = c) < d);   //先把c赋值给e,此时e等于3,再拿e跟d比较                 
System.out.println(j);    //返回true
System.out.println("e的值===" + e);    //e的值===3
 
 
例子3:   
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
boolean m = (a > b) && ((e = c) < d);   //先把c赋值给e,此时e等于3,再拿e跟d比较                 
System.out.println(m);    //返回false
System.out.println("e的值===" + e);    //e的值===5, 逻辑与&&的第一个表达式为假,则不执行第二个表达式了,直接返回false
 
逻辑或||的实例:
例子1:

int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
boolean i = (a < b) || (c < d);
System.out.println(i);  //返回true
System.out.println("e的值===" + e); //e的值===5
例子2:

int a = 1;
int b = 2;
int c = 3;
int d = 4;

int e = 5;

boolean j = (a < b) || ((e = c) < d);                 
System.out.println(j); //返回true
System.out.println("e的值===" + e);  //e的值===5,逻辑||的第一个表达式为true,则直接返回true,不再执行第二个表达式。
 
例子3:在上个例子的基础上,把表达式顺序改变了下  int a = 1;
int b = 2;
int c = 3;
int d = 4;

int e = 5;

boolean k = ((e = c) < d) || (a < b);   //把c赋值给e,再去跟d比较,所以e等于3,而不是5
System.out.println(k); //返回true
System.out.println("e的值===" + e); //e等于3,逻辑||的第一个表达式为true,则直接返回true,不再执行第二个表达式。
例子4:

 int a = 1;
int b = 2;
int c = 3;
int d = 4;

int e = 5;

boolean m = (a > b) || ((e = c) < d); //第一个表达式为false,继续执行第二个表达式                 
System.out.println(m);  //返回true
System.out.println("e的值===" + e); //e等于3,

ava SE ---逻辑运算符的更多相关文章

  1. Java 10 var关键字详解和示例教程

    在本文中,我将通过示例介绍新的Java SE 10特性——“var”类型.你将学习如何在代码中正确使用它,以及在什么情况下不能使用它. 介绍 Java 10引入了一个闪亮的新功能:局部变量类型推断.对 ...

  2. 马凯军201771010116《面向对象与程序设计Java》第十七周学习总结

    一.理论知识部分 Java 的线程调度采用优先级策略:优先级高的先执行,优先级低的后执行:多线程系统会自动为每个线程分配一个优先级,缺省时,继承其父类的优先级: 任务紧急的线程,其优先级较高: 同优先 ...

  3. 201771010134杨其菊《面向对象程序设计(java)》第十七周学习总结

    第十七周学习总结 1. 程序是一段静态的代码,它是应用程序执行的蓝本.进程是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程.操作系统为每个进程分配一段独立的内存空间和系统资源,包 ...

  4. 201771010134杨其菊《面向对象程序设计(java)》第十六周学习总结

    第十六周学习总结 第一部分:理论知识 1. 程序是一段静态的代码,它是应用程序执行的蓝本.进程是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程.操作系统为每个进程分配一段独立的内 ...

  5. 阿里开源线上应用调试利器 Arthas的背后

    Arthas是一个功能非常强大的诊断工具,功能点很多,例如:jvm信息.线程信息.搜索类中的方法.跟踪代码执行.观测方法的入参和返回参数等等. 作为有追求的程序员,你不仅要知道它能做什么,更要思考它是 ...

  6. 201271050130-滕江南-《面向对象程序设计(java)》第十七周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十七周学习总结 博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.c ...

  7. java虚拟机规范(se8)——class文件格式(四)

    4.7 属性 属性用于class文件格式中的ClassFile,field_info,method_info和Code_attribute结构. 所有的属性都是下面的格式: attribute_inf ...

  8. 201771010113 李婷华 《面向对象程序设计(Java)》第十七周总结

    一.理论知识部分 Java 的线程调度采用优先级策略:优先级高的先执行,优先级低的后执行:多线程系统会自动为每个线程分配一个优先级,缺省时,继承其父类的优先级: 任务紧急的线程,其优先级较高: 同优先 ...

  9. linux系统中安装JDK 查看安装的ava版本

    一.安装JDK 1.在/usr/目录下创建java目录 [root@localhost ~]# mkdir/usr/java[root@localhost ~]# cd /usr/java 2.下载j ...

随机推荐

  1. USB枚举过程(2)

    用bus hound 得到的数据 GET MAX LUN 命令 详见USB_MSC_BlukOnly_v1.0 接下来用到的是UFI  SCSI

  2. [iOS微博项目 - 2.3] - 用户取消对app的授权

    github: https://github.com/hellovoidworld/HVWWeibo   A.用户取消对app的授权 用户可以在微博网站上取消对某个应用(app)的授权   1.打开& ...

  3. HDU 5705 Clock (精度控制,暴力)

    题意:给定一个开始时间和一个角度,问你下一个时刻时针和分针形成这个角度是几点. 析:反正数量很小,就可以考虑暴力了,从第一秒开始暴力,直到那个角度即可,不会超时的,数目很少,不过要注意精度. 代码如下 ...

  4. thinkPHP 无法create,无法插入数据,提示非法数据对象

    4.thinkPHP 无法create,提示非法数据对象解决方法:不要create+add,而用 data[]= '';+add$m_r_fa_account = D('R_fa_account'); ...

  5. Plan04.学习与提升

    虽然工作没有继续做自己最喜欢的Android的开发,对于自己来说,从事J2EE又是一种挑战,自己 可以学习更多的东西,开阔自己的眼界,而不是局限在Android的应用开发领域. 工作这段时间,自己学到 ...

  6. IOS 7 Study - UISegmentedControl

    You would like to present a few options to your users from which they can pick anoption, through a U ...

  7. linux C(hello world) 二维数组的练习

  8. [Express] Level 1: First Step

    Installing Express Let's start building our new Express application by installing Express. Type the ...

  9. ios开发——实用技术篇Swift篇&拍照

    拍照 // MARK: - 拍照 func fromPhotograph() { if UIImagePickerController.isSourceTypeAvailable(.Camera) { ...

  10. 生成html的几种方案

    方案1: ///   <summary > ///   传入URL返回网页的html代码 ///   </summary > ///   <param   name=&q ...