文章目录
一、运算符介绍
- 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
二、算数运算符
- 算数运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多
public class ArthmeticOperator{
public static void main(String[] args){
System.out.println(10 / 4); // 从数学来看是2.5,java中是2
double d = 10 / 4; // java中 10 / 4 = 2, 2 => 2.0
// % 取模,取余
// 在 % 的本质 看一个公式: a % b = a - a / b * b
// -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
// 10 % -3 => 10 - 10 / (-3) * (-3) = 10 - 9 = 1
// -10 % -3 => -10 - (-10) / (-3) * (-3) = -10 + 9 = -1
// 特殊的对于a是小数,公式 = a - (int) a / b * b
System.out.println(10 % 3); // 1
System.out.println(-10 % 3); // -1
System.out.println(10 % -3); // 1
System.out.println(-10 % -3); // -1
// 自增、自减的赋值过程
// 举例自增的过程
int j,k,i = 10;
j = i++; // 规则:使用临时变量 (1) temp = 1; (2) i = i+1; (3) j = temp;
k = ++i; // 规则:使用临时变量 (1) i = i + 1; (2) temp = i; (3) k = temp;
}
}
三、关系运算符
- 介绍
- 关系运算符的结果都是boolean型,也就是要么
true
,要么是false
- 关系表达式经常用在
if结构的条件
中或循环结构的条件
中
- 关系运算符的结果都是boolean型,也就是要么
- 细节说明
- 关系运算符的结果都是boolean型,也就是要么是true,要么是false
- 关系运算符组成的表达式,我们称为
关系表达式
。a > b
- 比较运算符 “==” 不能误写称 “=”
四、逻辑运算符
- 介绍
- 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值
- 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值
五、赋值运算符
- 介绍
- 赋值运算符就是将某个运算后的值,赋给指定的变量
- 赋值运算符就是将某个运算后的值,赋给指定的变量
public class AssignOperator{
public static void main(String[] args){
byte b = 3;
b += 2; // 等价于 b = (byte) (b+2);
b++; // b = (byte) (b+1);
}
}
六、三元运算符
- 注意:三元运算符是一个整体,会自动类型转换
true?5:1.1 // 返回的是double类型的 5.0
七、运算符优先级
八、标识符的命名规则和规范
8.1 标识符的命名规则
8.2 标识符的命名规范
九、关键字与保留字
十、键盘输入语句
// 1. 引入/导入 Scanner类所在的包
import java.util.Scanner; // 表示把 java.util下的Scanner类导入
public class Input{
public static void main(String[] args){
// 步骤
// Scanner类 表示 简单文本扫描器,在Java.util 包
// 2. 创建 Scanner 对象,new 创建一个对象
Scanner myScanner = new Scanner(System.in);
// 3. 接收用户输入,使用相关的方法
System.out.println("请输入名字");
String name = nyScanner.nextInt(); // 接收用户输入
// 3. 接收用户输入,使用相关的方法
System.out.println("请输入名字");
String name = nyScanner.next(); // 接收用户输入的字符串
System.out.println("请输入年龄");
String name = nyScanner.nextInt(); // 接收用户输入的int
System.out.println("请输入薪水");
String name = nyScanner.nextDouble(); // 接收用户输入的double
}
}
十一、进制
11.1 进制介绍(略)
十二、位运算
12.1 引入
12.2 二进制在运算中的说明
12.3 原码、反码、补码(重点 难点)
12.4 位运算符
十三、细节知识
13.1 求余数
public class ArthmeticOperator{
public static void main(String[] args){
System.out.println(10 / 4); // 从数学来看是2.5,java中是2
double d = 10 / 4; // java中 10 / 4 = 2, 2 => 2.0
// % 取模,取余
// 在 % 的本质 看一个公式: a % b = a - a / b * b
// -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
// 10 % -3 => 10 - 10 / (-3) * (-3) = 10 - 9 = 1
// -10 % -3 => -10 - (-10) / (-3) * (-3) = -10 + 9 = -1
// 特殊的对于a是小数,公式 = a - (int) a / b * b
System.out.println(10 % 3); // 1
System.out.println(-10 % 3); // -1
System.out.println(10 % -3); // 1
System.out.println(-10 % -3); // -1
System.out.println(-10.5 % 3); // -1.5近似值
}
}
13.2 自增、自减执行流程
public class SelfAddReduce{
public static void main(String[] args){
// 自增、自减的赋值过程
// 举例自增的过程
int j,k,i = 10;
j = i++; // 规则:使用临时变量 (1) temp = i; (2) i = i+1; (3) j = temp;
k = ++i; // 规则:使用临时变量 (1) i = i + 1; (2) temp = i; (3) k = temp;
}
}
13.3 复合赋值运算符会进行类型转换
public class AssignOperator{
public static void main(String[] args){
byte b = 3;
b += 2; // 等价于 b = (byte) (b+2);
b++; // b = (byte) (b+1);
}
}