目录
就是对常量或者变量进行操作的符号
取模、取余,也是除法运算,但是获取的是余数
数据类型不一样时是不能进行计算的,取值范围小的数值转化为取值范围大的数值
类型从小到大:
两种提升规则:
- byte b = 10;
- short s = 20;
- long n = 100L;
- result = b + s + n;
问变量result是什么类型的?long
解释:
第一步:变量b和变量s里面的值会先提升为int参与运算。
int + int + long
第二步:而long类型的取值范围是大于int的取值范围的。
所以变量b和变量s里面的值会再次提升为long。
long + long + long。
所以最终结果是long类型的。
把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。需要强制转换
目标数据类型 变量名 = (目标数据类型)被强转的数据
- public class OperatorDemo2 {
- public static void main(String[] args) {
- double a = 12.3;
- int b = (int) a;
- System.out.println(b);//12
- }
- }
- public class OperatorDemo3 {
- public static void main(String[] args) {
- byte b1 = 10;
- byte b2 = 20;
- byte result = (byte)(b1+b2)
- System.out.println(result);//12
- }
- }
注:可能会导致数据的精度丢失