02.01_Java语言基础(逻辑运算符的基本用法)

一、逻辑运算符有哪些
   &,|,^,!
   &&,||
   注意事项:
   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建议判断区间或范围的时候用

原文地址:https://www.cnblogs.com/zyyzy/p/12419000.html