Java基础 - 逻辑、位运算符,if、switch语句

时间:2021-12-21 11:59:21

1.逻辑运算符.

(1) & | ^ !
&& ||
(2)&&和&的区别?
* a:最终结果一样。
* b:&&具有短路效果。左边是false,右边不执行。
* &是无论左边是false还是true,右边都会执行
||和|的区别同上
(3)开发中常用的有: && || !

2.位运算符.

(1)&,|,^,~ ,>>,>>>,<<
(2)位异或运算符(^)的特点:
一个数据对另一个数据位异或两次,该数本身不变。
(3)>>,>>>,<<的用法:
* <<:左移 左边最高位丢弃,右边补齐0
* >>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1
* >>>:无符号右移 无论最高位是0还是1,左边补齐0
* 最有效率的算出2 * 8的结果 (2 << 3)

3.键盘录入.

(1)格式:
* a:导包
* 格式:
* import java.util.Scanner;
* 位置:
* 在class上面。
* b:创建键盘录入对象
* Scanner sc = new Scanner(System.in);
* c:通过对象获取数据
* int x = sc.nextInt();

4.流程控制语句.

(1)分类: 顺序结构 选择结构 循环结构

5.if语句和三元运算符的区别.

* 三元运算符实现的,都可以采用if语句实现。反之不成立。

* 什么时候if语句实现不能用三元改进呢?
* 当if语句控制的操作是一个输出语句的时候就不能。
* 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

6.switch语句.

(1)格式 switch(表达式) {
case 值1:
语句体1;
break;
……
}
(2)执行流程
* 先计算表达式的值
* 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
(3)要有break;语句,否则会有case穿透.
(4)switch语句的结束条件
* a:遇到break就结束了
* b:执行到switch的右大括号就结束了

7.switch语句和if语句的各自使用场景.

        *   switch建议判断固定值的时候用
* if建议判断区间或范围的时候用