运算符
1.逻辑运算符(掌握)
2.位运算符(了解)
3.三元运算符(掌握)
4.键盘录入的基本格式讲解(掌握)
一:逻辑运算符
A:逻辑运算符有哪些
&(并且) |(或者) !(非) ^(异或) &&(短路与) ||(短路或)
注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
在Java中我们要表示一个数大于3并且小于6 ,不可以写成3<x<6,
应该写成 x>3 & x<6
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
关系表达式:a == b
B:结论
& 逻辑与:有false则false。
| 逻辑或:有true则true。
^ 逻辑异或:相同为false,不同为true。
举例:情侣关系。男男,男女,女男,女女
! 逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
C:逻辑运算符&&和&的异同( || 与 | 的区别相类似)
1.最终结果一样。
2.&&具有短路效果,执行效率高,一旦左边是false,右边就不执行。
二:位运算符的基本用法(1)
A:位运算符有哪些
&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
注意事项:位运算是直接对二进制补码进行运算。
B: 结论
&:有0则0
|:有1则1
^:相同则0,不同则1
~:按位取反 0变1 1变0
<<:左移 空位补0,被移除的高位丢弃
>>:右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1
>>>:无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补
C:特点
^的特点:一个数据被另一个数据位异或两次,该数本身不变。
<< : 把<<左边的数据乘以2的移动次幂 eg: 10<<3 结果 10*2^3=80
>> : 把>>左边的数据除以2的移动次幂 eg: 40>>3 结果 40/2^3=5
D:案例(值交换)
int a=10;
int b=20;
//方式1:找一个中间变量 开发中常用 必须掌握
int t;
t=a;
a=b;
b=t;
//方式2:利用位异运算符的特点
/*位异或运算符的特点
^的特点:一个数据被另一个数据位异或两次,该数本身不变。*/
a=a^b;
b=a^b;
a=a^b;
//方式3
a=a+b;
b=a-b;
a=a-b;
//方式4 一句话搞定
b=(a+b)-(a=b);
三:三元运算符的基本用法
A:三元(三目)运算符的格式
(关系表达式) ? 表达式1 : 表达式2;
eg: int a=(10>20)?30:50; a=50
B:三元运算符的执行流程
计算关系表达式的值,如果为true, 运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;
四:键盘录入的基本格式讲解
1.导包
格式:
import java.util.Scanner;
位置:
在class上面。
2.创建键盘录入对象
格式:
Scanner sc = new Scanner(System.in);
快捷方式:new Scanner(System.in);然后按住
alt+enter(也是万能纠错键)
3.通过对象获取数据
格式:
int x = sc.nextInt();