一、类型转换
1、转换类型 --自动和强转
1)、默认自动类型转换
(1)类型自动转换
这里是byte和int在二进制图表显示
自动转换案例
2)强制类型转换
double向float运行程序会报错,因为二进制存储精度不同会导致损失
强制转换
数据类型 变量1 = (强转数据类型)变量2
double a = 5.366547885321; float b = (float)a;
二、运算符计算
1、算数运算符表
2、自增自减运算符 ++ –
++、-- 可以在变量的前面,也可以在后面
1)先++,后++
int a = 5; int b = ++a; // ++变量 先+1再计算 5+1=6 int c = a++; // 变量++ 先计算再+1 6 System.out.println(b); System.out.println(c); 结果:b=6,c=6
2)后++,先++
int a = 5; int b = a++; // 变量++ 先计算再+1 a是5,然后+1 结果是5 int c = ++a; // ++变量 先+1再计算 先+1a是7 结果是7 System.out.println(b); System.out.println(c); 结果:b=5,c=7
3)混战结果 现在++、–不用纠结了,用的很少,理解下就好
int a = 5; int b = 10; int c = ++a + a++ - --b + b--; //6+6-9+9=12 System.out.println(c); 结果:12
三、关系运算符表 "=="相等 "="赋值
四、逻辑运算符表
不同点:逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,右边都要执行。
注意:实际开发中、常用的逻辑运算符还是:&& 、 || 、 !
五、三目运算符
格式:条件表达式 ? 值1 : 值2;
执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。
int a = 5; int b = 10; System.out.println(a>b?a:b); 结果:10
六、运算符优先级表
int a = 5; int b = 10; int c = 9; int d = 33; int e = a + b * c / a - (a+d); //5 + 18 - 38 System.out.println(e); 结果:-15