03.01_逻辑运算符的基本用法
A:逻辑运算符
&(并且),|(或者),!(非),^(异或),&&(短路与),||(短路或)
注意:
a:逻辑运算符一般用于连接boolean类型的表达式或者值
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子
算术表达式:a + b
关系表达式:a == b
B:结论:
^逻辑异或:相同为false,不同为true
C:&&和&的区别
a:最终结果都一样
b:&&具有短路效果。左边是false,右边不执行。
c:|和||同理
03.02_位运算符的基本用法
A:位运算符
&(与),|(或),^(异或),~(按位取反),<<(左移),>>(右移),>>>(无符号右移)
注意:位运算是直接对二进制补码进行运算。运算效率高一些
03.04_位异或运算符的特点
A:^的特点:一个数据被另一个数据异或两次,该数本身不变。
自己异或自己是0。
B:<<:把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*(2^3) = 80
>>:把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/(2^3) = 5
03.05_三元运算符的基本用法
A:三元运算符的格式
(关系表达式) ? 表达式1 : 表达式2;
int a = (10 > 20) ? 30 : 50; a = 50
B:三元运算符的执行流程
计算关系表达式的值,如果为true,运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;
03.06_键盘录入的基本格式
A:如何实现键盘录入
a:导包
格式:
import java.util.Scanner;
位置:
在class上面
b:创建键盘录入对象
格式:
Scanner sc = new Scanner(System.in);
c:通过对象获取数据
格式:
int x = sc.nextInt();
03.07_选择结构if语句格式及其使用
A:选择结构的分类
if语句
switch语句
B:if语句的格式1
if(比较表达式或者是boolean类型的值){
语句体;
}
C:执行流程:
先计算比较表达式的值,看其返回值是true还是false
如果是true,就执行语句体;
如果是false,就不执行语句体;
D:if语句的格式2
if(比较表达式){
语句体1;
}else{
语句体2;
}
注意事项:else后面是没有比较表达式的,只有if后面有。
E:执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
F:if语句的格式3
if(比较表达式1){
语句体1;
}else if(比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}
...
else{
语句体n+1;
}
G:执行流程
首先计算比较表达式1看其返回值是true还是false;
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
...
如果都是false,就执行语句体n+1
注意事项:当只要有一个条件满足时,if语句结束,else是可以省略,但不建议省略
03.08_选择结构switch语句的格式及其解释
A:switch语句的格式
switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
case值3:
语句体3;
break;
...
default:
语句体n+1;
break;
}
B:switch语句的格式解释
(1):switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK7以后可以是String
(2):case后面跟的是要和表达式进行比较的值
(3):语句体部分可以是一条或多条语句
(4):break表示中断,结束的意思,可以结束switch语句
(5):default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
C:执行流程
先计算表达式的值
然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句
D:注意事项
a:case后面只能是常量,不能是变量,而且,多个case后面的值不能同时出现相同的值
b:default可以省略吗?
可以省略,但不建议,因为它的作用是对不正确的情况给出提示。
c:break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。
最终我们建议不要省略
d:default一定要放在最后吗?
不是,可以在任意位置。但是建议在最后。
e:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了
03.09_选择结构if语句和switch语句的区别
A:if语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句使用场景
针对几个常量值的判断