java逻辑运算符

ava中的逻辑运算符包括逻辑与&,逻辑或|,逻辑非!逻辑异或^,除此之外还有几个比较相似的&&短路与,||短路或。

  那么这几个逻辑运算符到底有什么意思呢?下面我们来看看

  首先看逻辑与&的用法,只有两个都为真,结果为真,如果看如下代码

  int a = 20;

  int b = 5;

  if(a>10&b>10){

  System.out.println("true");

  }else{

  System.out.println("false");

  }

  输出false

  同样|,只要有一个为真就是真

  if(a>10|b>10){

  System.out.println("true");

  }else{

  System.out.println("false");

  }

  输出true

  !的作用是取反

  boolean a = true;

  if(!a){

  System.out.println("true");

  }

  接下来再看看短路与&&和短路或||

  int a = 10;int b = 20;

  if(a>10&&b++>10){

  System.out.println(true)

  }

  System.out.println(b);

  看看b的值是多少呢,这个时候很多人会答错,b的值最终还是20

  在这里由于第一个a>10为false,所以这个表达式为false,这样就不会执行后面的b++操作了,相当于把b++给短路了,所以叫短路与。同样短路或的作用是如果第一个为真,那么整个表达就为true,就把第二个表达式短路了。所以叫短路或。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-21 20:02:05

java逻辑运算符的相关文章

java的逻辑运算符

逻辑运算符AND(&&).OR(||)以及NOT(!)能生成一个布尔值(true或false)--以自变量的逻辑关系为基础.下面这个例子向大家展示了如何使用关系和逻辑运算符.   //: Bool.java // Relational and logical operators import java.util.*; public class Bool { public static void main(String[] args) { Random rand = new Random()

java的造型运算符(Cast)

"造型"(Cast)的作用是"与一个模型匹配".在适当的时候,Java会将一种数据类型自动转换成另一种.例如,假设我们为浮点变量分配一个整数值,计算机会将int自动转换成float.通过造型,我们可明确设置这种类型的转换,或者在一般没有可能进行的时候强迫它进行. 为进行一次造型,要将括号中希望的数据类型(包括所有修改符)置于其他任何值的左侧.下面是一个例子: void casts() { int i = 200; long l = (long)i; long l2

java运算符总结

下面这个例子向大家展示了如何随同特定的运算符使用主数据类型.从根本上说,它是同一个例子反反复复地执行,只是使用了不同的主数据类型.文件编译时不会报错,因为那些会导致错误的行已用//!变成了注释内容.   //: AllOps.java // Tests all the operators on all the // primitive data types to show which // ones are accepted by the Java compiler. class AllOps

javascript运算符——逻辑运算符全面解析_javascript技巧

前面的话 逻辑运算符对操作数进行布尔运算,经常和关系运算符一样配合使用.逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式.逻辑运算符分为逻辑非'!'.逻辑与'&&'.逻辑或'||'3种,本文将介绍这三种逻辑运算符 逻辑非 逻辑非操作符由一个叹号(!)表示,可以应用于ECMAScript中的任何值.无论这个值是什么数据类型,这个操作符都会返回一个布尔值.逻辑非操作符首先会将它的操作数转换成一个布尔值,然后再对其求反 逻辑非对操作数转为布尔类型的转换类型与Boolean()转型函数相同

Java运算符>、>>、>>>三者的区别_java

>表示大于,如:if(a>b)...结果是boolean类型 >>表示带符号右移,如:int i=15; i>>2的结果是3,移出的部分将被抛弃. 转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3). >>>无符号右移: 按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零.对于正数来说和带符号右移相同,对于负数来

《Java 7程序设计入门经典》一2.8 关系运算符和逻辑运算符

2.8 关系运算符和逻辑运算符 在术语"关系运算符"(relational operator)和"逻辑运算符"(logical operator)中,"关系"(relational)指的是值之间的关系,"逻辑"(logical)指的是真值与假值之间的关系.由于关系运算符的结果是真值或假值,因此关系运算符常常和逻辑运算符结合使用.所以此处一并讨论它们. 第1章介绍了关系运算符.为了方便,将关系运算符列举如下: 逻辑运算符如下:

《Java 7程序设计入门经典》一2.9 具有“短路”功能的逻辑运算符

2.9 具有"短路"功能的逻辑运算符 Java为AND和OR逻辑运算符提供了具有"短路"功能的版本,来用于编写更有效率的代码.为了了解其原因,考虑以下情形:在一个与操作中,若第一个操作数是假的,无论第二个操作数是什么,结果总是假的.在一个或操作中,若第一个操作数是真的,无论第二个操作数的值是什么,结果总是真的.于是,在以上两种情况下,没有必要考虑第二个操作数.通过不考虑第二个操作数,节约了时间,代码更加有效. 具有"短路"功能的AND运算符是&a

Java编程那些事儿23—逻辑运算符

4.3 逻辑运算符 逻辑运算符是指进行逻辑运算的符号.逻辑运算主要包括与(and).或(or)和非(not)三种,在程序中主要用来连接多个条件,从而形成更加复杂的条件. 逻辑运算符的运算结果是boolean类型. 参与逻辑运算的数据也必须是boolean类型. 关于逻辑运算符的种类和说明参看表4-3. 表4-3 逻辑运算符 符号 名称 功能说明 && 逻辑与 两个条件同时为true才为true,否则为false || 逻辑或 两个条件有一个为true则为true,否则为false ! 逻辑

Java基本数据类型与位运算

赋值运算符 赋值使用操作符"=".它的意思是"取右边的值(即右值),把它复制给左边(即左值)".右值可以是任何 常数.变量或者表达式 (只要它能 生成 一个值就行).但左值必须是一个明确的,已命名的变量.也就是说,必须有一个物理空间可以存储等号右边的值. 分类 基本数据类型 与 类数据类型 的不同 1. 对基本数据类型的赋值是很简单的.基本数据存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方. 2. 但是在为