java运算符之逻辑运算符、位运算符和三元运算符



1.逻辑运算符

逻辑运算符的基本用法

逻辑运算符有哪些

&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)
注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,应该写成 x>3 & x<6 。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b

案例演示

逻辑运算符的基本用法
java运算符之逻辑运算符、位运算符和三元运算符
结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
举例:情侣关系。男男,男女,女男,女女
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
(点击此处运行结果)


逻辑运算符&&和&;||和|的区别

案例演示

java运算符之逻辑运算符、位运算符和三元运算符
结论:
a:最终结果一样。
b:&&;||具有短路效果。左边是false,右边不执行
(点开此处运行结果)

B.开发中常用

&&||!



2.位运算符

位运算符的基本用法

位运算符有哪些

&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
注意事项:位运算是直接对二进制补码进行运算。

案例演示

&;|;^;~ 的用法
java运算符之逻辑运算符、位运算符和三元运算符
结论:
&:有0则0
|:有1则1
^:相同则0,不同则1
~:按位取反 0变1 1变0
(点开此处运行结果)

<<;>>;>>>的用法
java运算符之逻辑运算符、位运算符和三元运算符
结论:
< : 把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*2^3=80
>> : 把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5
(点开此处运行结果)


位异或运算符的特点及面试题

案例演示

位异或运算符的特点
^的特点:一个数据被另一个数据位异或两次,该数本身不变。
自己位异或自己是0 8^8 结果是0
java运算符之逻辑运算符、位运算符和三元运算符
(点击此处运行结果)

面试题

请自己实现两个整数变量的交换
java运算符之逻辑运算符、位运算符和三元运算符
(点击此处运行结果)



3.三元运算符

三元运算符的基本用法

三元(三目)运算符的格式

(关系表达式) ? 表达式1 : 表达式2;
int a=(10>20)?30:50; a=50

三元运算符的执行流程

计算关系表达式的值,如果为true, 运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;

案例演示

获取两个数中的最大值
java运算符之逻辑运算符、位运算符和三元运算符
(点击此处运行结果)


三元运算符的练习

案例演示1

比较两个整数是否相同
java运算符之逻辑运算符、位运算符和三元运算符
(点击此处运行结果)

案例演示2

获取三个整数中的最大值
java运算符之逻辑运算符、位运算符和三元运算符
(点击此处运行结果)