1.“|”运算符:不论运算符左侧为true还是false,右侧语句都会进行判断,下面代码

int a =1,b=1;
if(a++ == 1 | ++b == 2)
System.out.println("true");
System.out.println("a= "+ a + " ,b= " + b);

左侧为true,右侧为true,输入出结果为:

true
a= 2 ,b= 2

2.“||”运算符:若运算符左边为true,则不再对运算符右侧进行运算,如下代码:

1 int a =1,b=1;
2 if(a++ == 1 || ++b == 2)
3 System.out.println("true");
4 System.out.println("a= "+ a + " ,b= " + b);

左侧为true,所以没有判断运算符右侧语句,输出结果为:

1 true

2  a= 2  ,b=  1

3.&运算符与|运算符类似:不论运算符左侧为true还是false,右侧语句都会进行判断:

int a =1,b=1;
if(a++ == 2 & ++b == 2)
System.out.println(true);
else
System.out.println(false);
System.out.println("a= "+ a + " ,b= " + b);

&运算符左侧为false,单依然会运行右侧语句输出为:

false
a= 2 ,b= 2

4.“&&”运算符与“||”运算符类似:若运算符左侧为false则不再对右侧语句进行判断:

1
2
3
4
5
6
int a =1,b=1;      
if(a++ == 2 && ++b == 2)
    System.out.println(true);  
else
    System.out.println(false);
System.out.println("a= "+ a + "  ,b=  " + b);

输出结果:

1 false
2 a= 2 ,b= 1

Java中运算符“|”和“||”以及“&”和“&&”区别的更多相关文章

  1. Java中运算符和方法的区别

    1.多数情况下,运算符是程序语言里固有的.比如+,-,*,/.可以直接被编译为机器语言而无需再调用其它方法编译. 2.运算符在被定义时会被规定运算的优先级.如4+3*3,会得到13.而不是21. 3. ...

  2. Java中Long与long的区别(转)

    Java中Long与long的区别(转) [本文转载自:http://www.cnblogs.com/bluestorm/archive/2012/04/22/2464739.html] 转载请联系原 ...

  3. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  4. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  5. 转:Java中abstract和interface的区别

    转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

  6. Java中this与super的区别【6】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  7. Java中堆和栈的区别(转)

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.      Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new. ...

  8. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  9. java中堆和堆栈的区别

    java中堆和堆栈的区别(一) 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势是,存取 ...

随机推荐

  1. Vue cli 脚手架使用

    1:基本的安装 安装node 安装npm Windows 更改环境变量 重启 环境变量生效 安装vue-cli 安装webpack 2:项目构建 https://segmentfault.com/a/ ...

  2. curl返回302 found问题相关

    在使用curl 的时候 ,偶尔会遇到一些URL跳转到新的URL,即HTTP中的3XX(redirection,重定向 ) 此时如果不设置自动跳转倒新url的话,可能会出现问题. 一些网上的解决方法: ...

  3. 2 数据库开发--MySQL下载(windows)

    Windows:(mysql) 操作: 0.下载安装mysql www.mysql.org downloads->进入社区community community 5.7.21 下载5.6 Mic ...

  4. 5月23日Google就宣布了Chrome 36 beta

    对于开发人员来说,本次更新的重点还有element.animate().HTML Imports.Object.observe()的引入,以及一个改进后的throttled async touchmo ...

  5. 新手C#构造函数、继承、组合的学习2018.08.06/07

    构造函数,是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同 ...

  6. 若p是与10互质的质数,则p-1个9能被p整除

    [若p是与10互质的质数,则k(p-1)个9能被p整除] 因为(p,10)=1,所以(p,10^k)=1.根据费马定理,10^(k*(p-1))-1|p. 而10^k*(p-1)-1是一个位数为(p- ...

  7. how to deal with EINTR fault

    [how to deal with EINTR fault] EINTR:interupted error.是指一个调用被信号给中断,对于同步的耗时调用来说,这个操作常见,譬如select.read. ...

  8. 第6章 数组、指针与字符串(一)基于范围的for循环

  9. oracle 基本函数小例子--查询身高段分数段

    select * from student order by id drop table student select * from oracletest create table student( ...

  10. Shrio04 自定义Realm

    1 说明 1.1 Realm的作用 Realm和认证和授权时的数据交互有关,相当于DAO层. 1.2 AuthorizingRealm >层次关系图 >作用继承AuthorizingRea ...