第 4 章 运算符
Suriski 9/4/2022 韩顺平java笔记
- 韩顺平 2021零基础学Java的笔记,可在Bilibili同步观看
- 韩顺平-视频观看地址 (opens new window)
# 4.1 运算符介绍
# 4.1.1运算符介绍
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符
- 赋值运算符
- 关系运算符 [比较运算符]
- 逻辑运算符
- 位运算符 [需要二进制基础]
- 三元运算符
# 4.2 算术运算符
# 4.2.3案例演示
System.out.println(10 % 3);
System.out.println(-10 % 3);
System.out.println(10 % -3);
System.out.println(-10 % -3);
# 4.2.5面试题
public class ArithmeticOperatorExercise01 {
public static void main(String[] args) {
int i = 1;
i = i++;
System.out.println(i);
int j = 1;
j = ++j;
System.out.println(j);
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
解析:
# 4.3 关系运算符(比较运算符)
# 4.3.2 关系运算符一览
# 4.3.4 细节说明
- 关系运算符组成的表达式,我们称为关系表达式。 例如:a > b
# 4.4 逻辑运算符
# 4.4.2 逻辑运算符一览
分为两组学习
- 短路与 && , 短路或 ||,取反 !
- 逻辑与 &,逻辑或 |,^ 逻辑异或
# 4.4.5 && 和 & 使用区别
- &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
- & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
- 开发中, 我们使用的基本是使用短路与&&, 效率高
# 4.4.8 || 和 | 使用区别
- || 短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
- | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
- 开发中,我们基本使用 ||
# 4.4.12 练习题 1 请写出每题的输出结果
# 4.4.13 练习题 2 请写输出结果
# 4.5 赋值运算符
# 4.5.2 赋值运算符的分类
基本赋值运算符 = ,例如:int a = 10;
复合赋值运算符 += ,-= ,*= , /= ,%= 等
# 4.5.4 赋值运算符特点
# 4.7 运算符优先级
# 4.8.2 标识符的命名规范 [ 更加专业 ]
# 4.10 保留字
# 4.11 键盘输入语句
# 4.11.1 介绍
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java , 需要一个 扫描器(对象), 就是 Scanner
# 4.11.2 步骤 :
- 导入该类的所在包, java.util.*
- 创建该类对象(声明变量)
- 调用里面的功能
# 4.11.3 案例演示:
要求:可以从控制台接收用户信息,【姓名,年龄,薪水】
import java.util.Scanner;
public class Input {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入名字");
String name = myScanner.next();
System.out.println("请输入年龄");
int age = myScanner.nextInt();
System.out.println("请输入薪水");
double sal = myScanner.nextDouble();
System.out.println("人的信息如下:");
System.out.println("名字=" + name + " 年龄=" + age + " 薪水=" + sal);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 4.12 进制
# 4.12.1 进制介绍
# 4.15 二进制转换成十进制示例
# 4.16 八进制转换成十进制示例
# 4.17 十六进制转换成十进制示例
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 16 的(位数-1)次方,然后求和。
# 4.18 十进制转换成二进制
# 4.19 十进制转换成八进制
规则:将该数不断除以 8,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的八进制。
# 4.20 十进制转换成十六进制
规则:将该数不断除以 16,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的十六进制。
# 4.21 二进制转换成八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可。
案例:请将 ob11010101 转成八进制
ob11(3)010(2)101(5) => 0325
# 4.22 二进制转换成十六进制
规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。
# 4.23 八进制转换成二进制
规则:将八进制数每 1 位,转成对应的一个 3 位的二进制数即可。
# 4.24 十六进制转换成二进制
规则:将十六进制数每 1 位,转成对应的 4 位的一个二进制数即可。
# 4.27 原码、反码、补码
例子:
# 4.28 位运算符
# 4.28.1 java 中有 7 个位运算
(&
、|
、^
、~
、>>
、<<
和 >>>
)
# 4.28.2 还有 3 个位运算符
<<
和 >>>
, 运算规则:
# 4.28.3 应用案例
# 4.29 本章作业