第 4 章 运算符

9/4/2022 韩顺平java笔记

# 4.1 运算符介绍

# 4.1.1运算符介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  1. 算术运算符
  2. 赋值运算符
  3. 关系运算符 [比较运算符]
  4. 逻辑运算符
  5. 位运算符 [需要二进制基础]
  6. 三元运算符

# 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

解析:
在这里插入图片描述

# 4.3 关系运算符(比较运算符)

# 4.3.2 关系运算符一览

在这里插入图片描述

# 4.3.4 细节说明

  1. 关系运算符组成的表达式,我们称为关系表达式。 例如:a > b

# 4.4 逻辑运算符

# 4.4.2 逻辑运算符一览

分为两组学习

  1. 短路与 && , 短路或 ||,取反 !
  2. 逻辑与 &,逻辑或 |,^ 逻辑异或
    在这里插入图片描述

# 4.4.5 && 和 & 使用区别

  1. &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
  2. & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
  3. 开发中, 我们使用的基本是使用短路与&&, 效率高

# 4.4.8 || 和 | 使用区别

  1. || 短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
  2. | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
  3. 开发中,我们基本使用 ||

# 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 步骤 :

  1. 导入该类的所在包, java.util.*
  2. 创建该类对象(声明变量)
  3. 调用里面的功能

# 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

# 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 本章作业

在这里插入图片描述
在这里插入图片描述