一、逻辑运算符有哪些
&,|,^,!
&&,||
注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)
C:结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
二、逻辑运算符&&和&的区别)
* &&和&的区别?
* a:最终结果一样。
*b:&&具有短路效果。左边是false,右边不执行。
* &是无论左边是false还是true,右边都会执行
* B:同理||和|的区别?(学生自学)
* C:开发中常用谁?
* &&,||,!
三、位运算符的基本用法
* A:位运算符有哪些
* &,|,^,~ ,>>,>>>,<<
* B:案例演示
* 位运算符的基本用法1
* &,|,^,~ 的用法
* &:有0则0
* |:有1则1
* ^:相同则0,不同则1
* ~:按位取反
四、位异或运算符的特点及面试题
* A:案例演示
* 位异或运算符的特点
* ^的特点:一个数据对另一个数据位异或两次,该数本身不变。
* B:面试题:
* 请自己实现两个整数变量的交换。
五、键盘录入的基本格式
* A:为什么要使用键盘录入数据
* a:为了让程序的数据更符合开发的数据
* b:让程序更灵活一下
* B:如何实现键盘录入呢?
* a:导包
* 格式:
* import java.util.Scanner;
* 位置:
* 在class上面。
* b:创建键盘录入对象
* 格式:
* Scanner sc = new Scanner(System.in);
* c:通过对象获取数据
* 格式:
* int x = sc.nextInt();
六、顺序结构语句
* A:什么是流程控制语句
* 流程控制语句:可以控制程序的执行流程。
* B:流程控制语句的分类
* 顺序结构
* 选择结构
* 循环结构
* C:执行流程:
* 从上往下,依次执行。
七、选择结构if语句格式1及其使用
* A:选择结构的分类
* if语句
* switch语句
* B:if语句有几种格式
* 格式1
* 格式2
* 格式3
* C:if语句的格式1
*
if(比较表达式) {
语句体;
}
* D:执行流程:
* 先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体;
* 如果是false,就不执行语句体;
八、选择结构if语句注意事项
* A:案例演示
* a:比较表达式无论简单还是复杂,结果必须是boolean类型
* b:if语句控制的语句体如果是一条语句,大括号可以省略;
* 如果是多条语句,就不能省略。建议永远不要省略。
* c:一般来说:有左大括号就没有分号,有分号就没有左大括号
九、选择结构if语句格式2及其使用)
* A:if语句的格式2
*
if(比较表达式) {
语句体1;
}else {
语句体2;
}
* B:执行流程:
* 首先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体1;
* 如果是false,就执行语句体2;
* 注意事项:else后面是没有比较表达式的,只有if后面有。
十、if语句的格式2和三元的相互转换问题)
* A:案例演示
* if语句和三元运算符完成同一个效果
* B:案例演示
* if语句和三元运算符的区别
* 三元运算符实现的,都可以采用if语句实现。反之不成立。
* 什么时候if语句实现不能用三元改进呢?
* 当if语句控制的操作是一个输出语句的时候就不能。
* 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
十一、选择结构if语句格式3及其使用)
* A:if语句的格式3:
*
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
* B:执行流程:
* 首先计算比较表达式1看其返回值是true还是false,
* 如果是true,就执行语句体1,if语句结束。
* 如果是false,接着计算比较表达式2看其返回值是true还是false,
* 如果是true,就执行语句体2,if语句结束。
* 如果是false,接着计算比较表达式3看其返回值是true还是false,
* 如果都是false,就执行语句体n+1。
* C:注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
十二、选择结构switch语句的格式及其解释
* A:switch语句的格式
*
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
* B:switch语句的格式解释
* C:面试题
* byte可以作为switch的表达式吗?
* long可以作为switch的表达式吗?
* String可以作为switch的表达式吗?
* C:执行流程
* 先计算表达式的值
* 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
十三、(选择结构switch语句的注意事项)
* A:案例演示
* a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
* b:default可以省略吗?
* 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
* 特殊情况:
* case就可以把值固定。
* A,B,C,D
* c:break可以省略吗?
* 最后一个可以省略,其他最好不要省略
* 会出现一个现象:case穿透。
* 最终我们建议不要省略
* d:default一定要在最后吗?
* 不是,可以在任意位置。但是建议在最后。
* e:switch语句的结束条件
* a:遇到break就结束了
* b:执行到switch的右大括号就结束了
十四、选择结构if语句和switch语句的区别
* A:总结switch语句和if语句的各自使用场景
* switch建议判断固定值的时候用
* if建议判断区间或范围的时候用