运算符之:4、逻辑运算符(6个)
来源:互联网 发布:ubuntu输入法设置中文 编辑:程序博客网 时间:2024/06/15 03:17
4、逻辑运算符:
&(和and)(与/并且)
|(或 or)
^(异或)
!(非 not-取反)
&& (短路与)(并且)
||(短路或)-----(或者)
逻辑表达式的值 true 或者是 false
逻辑表达式:由逻辑运算符构成的式子
在 && ||较长用;
----------------------------------------------------------
|和|| 、&和&&的区别:(总结:输出的值不同)
- + -
& (长路或):无论左边是true 还是 false; 右边都运算
//&(长路与):无论第一个表达式的值是true或者false都会执行右边
int i =2;
System.out.println(i==1 & i++ ==2);// 1 & 2
// false & true = false
System.out.println(i);//执行右边;i++ = (2+1)3
System.out.println(i++ ==2);// 2 & 2 这里是做判断不运算
// true & true = true
System.out.println(i);//这里是运算后的结果,执行右边;(i++ ==2)i=i+2——i=2+2——i=4
&& 当左边为false时,右边不运算
//&&(短路与):只要第一个表达式的值为false,第二个表达式的值不在进行运行算
int j =2;
System.out.println(j==1 && j++ ==2);
//flase && true =false
System.out.println(j);//2 左边为false,右边表达式值不需在运算
System.out.println(j==2 && j++ ==2);//j++只做替换成数字,不运算
// true && true =tuse
System.out.println(j);//3 左边为真,右边也要执行
| (长路或):两边都参与运算
//| (长路或):两边都参与运算
int a =1;
System.out.println(a==1 | a++ ==2);
// true false | =true;
System.out.println(a);//2 左边为真,右边都要执行,结果输出右边的
int z =1;
System.out.println(z==2 | z++ ==1);
// false true | =true;
System.out.println(z);//2 左边为假,右边都要执行,结果输出右边的
|| (短路或):当左边为true 右边不运算
//|| (短路或):当左边为true 右边不运算
int b =1;
System.out.println(b==1 || b++ ==2);
// true || false = true
System.out.println(b);//1 左边为真,右边不需执行,结果输出左边的
int m =1;
System.out.println(m==2 || m++ ==1);
// false || true = true
System.out.println(m); //2 左边为假,右边依旧需执行
注意:
& && | || 最少也是由两个表达式组成的
而 !非 一个表达式即可
例如
System.out.println(!('a'=='a'));//非真就是假 非假就是真
(总结)Boolean结果:
& (和): 两边为true,结果才为true(一边为false,结果都为false);
* &(和):两边的Boolean表达式结果,有一个为false,结果为false;
* 两边的都为true,结果为true 延伸 出四种结果:
* true & true = true
* false & false = false
* false & true = false
* true & false = false
遵循“真真为真,一假必假”原则
| (或) :有一边为true,结果就为true(两边为false,结果为false);
* |(或):有一边为true,结果为true;
* 两边为false,结果为false 延伸 出四种结果:
* false | false =false
* false | true =true
* true | true =true
* true | false =true
遵循“假假必假,一真必真”原则
!(非):结果相反
// !(非):结果相反
System.out.println(!true); // 结果false ;
System.out.println(!false); // 结果 true;
^(异或):两边相同为false,不同为true;(和|或的区别是结果相反:两边为tuse,结果为false)
/* ^(异或):两边相同为false,不同为true;(和|或的区别是结果相反:两边为tuse,结果为false)
* 延伸 出四种结果:
* true ^ true = false
* true ^ false = true
* false ^ false = false
* false ^ true =true
- 运算符之:4、逻辑运算符(6个)
- PHP基础之运算符(二)【逻辑运算符】
- Java运算符之(赋值运算符、比较运算符、逻辑运算符)
- 算数运算符(+-*/)优先级>移位运算>位运算>逻辑运算
- el运算符(逻辑运算符)
- java运算符(1)逻辑运算符
- java重修之路(三)算数运算符,转义字符,逻辑运算符,位运算符
- PHP基础之运算符(三)位逻辑运算符、位移运算符
- c++位运算和逻辑运算(&&和||:逻辑运算符;&和|:按位运算符)
- 逻辑运算符&位运算符
- 比较运算符 逻辑运算符
- 关系运算符,逻辑运算符
- 逻辑运算符的混合运算
- 逻辑运算符的短路运算
- JavaScript入门之逻辑运算符跟赋值运算符
- C/C++之位运算符与逻辑运算符详解
- 符号-分节4(逻辑运算符,位运算及左右移位运算)
- 运算符之:3、关系运算符(6个)
- 234-Palindrome Linked List
- 决策树:ID3算法
- Struts2基础01:编写第一个HelloStruts2程序
- SpringMVC(二)
- 线程池是什么?线程池的作用?
- 运算符之:4、逻辑运算符(6个)
- crontab 无法重启tomcat的问题
- day01_前言知识
- nlogn排序-快速排序
- day02_数据存储
- 深入浅出的TensorFlow可视化工具TensorBoard用法教程(二)
- Android EditText在界面恢复时数据出现重复问题
- day03_数据存储
- 【LeetCode】10.Regular Expression Matching(hard)解题报告