- 一、计算的优先级
- 1.运算符的优先级
- 2.单目运算符
- 3.结合关系
- 二、类型的转换
- 1.强制类型转换
- 2.强制类型转换后,原变量的值不变
- 三、关系运算
- 1.关系运算符
- 2.关系运算的优先级
- 3.整数与浮点数之间的比较
- 四、总结
- 1.计算的优先级
- 2.类型的转换
- 3.关系运算
- 不需要特别记忆,按照正常的数学计算优先级即可
- 实在无法弄清优先级的算式可以加 “()” 来提高优先级
2.单目运算符
- 优先级最高
3.结合关系
- 单目运算符可以看作a*(+b)和a*(-b)
二、类型的转换 1.强制类型转换
- 整型自动转换成浮点型,浮点型必须手动转换成整型,既强制类型转换
- 强制转换只需在需要转换的类型前加 (类型名称),形式:(类型)值
例如:
System.out.println(32 / 3.0);/结果为10.666666666666666 System.out.println( (int)32 / 3.0);//结果认为10.666666666666666, //因为(int)为单目运算符,优先级比 / 高,会先算(int)32 System.out.println( (int)(32 / 3.0));//结果为10,用()提高后面式子的优先级
2.强制类型转换后,原变量的值不变
三、关系运算 1.关系运算符
2.关系运算的优先级
- 按正常思维,也就是先计算后比较
- 如果都是比较,则从左到右依次比较
3.整数与浮点数之间的比较
1.整数与浮点数的比较
int a = 5; double b = 5.0; System.out.print(a == b);//结果为true
2.浮点数与浮点数的比较
double a = 1.0;
double b = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1;
System.out.println("a=" + a + "; " + "b=" + b);
System.out.print(a == b);
- 浮点数间正确的比较方式:
double a = 1.0; double b = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1; System.out.print(Math.abs(a-b) < 1e-6);
- Math.abs()表示取绝对值
- 1e-6表示科学计数法,等于10^-6
四、总结 1.计算的优先级
2.类型的转换
3.关系运算



