数据类型转换
1.自动类型转换
类型范围小的变量可以直接赋值给类型范围大的变量。
基本数据类型范围从小到大排序为
Tips:表达式最终结果的类型由表达式中的最高类型决定。
byte,short,char在运算过程中会自动转化为int。
2.强制类型转换.
类型范围大的变量 或者数据不能直接赋值给类型范围小的。此时需要强制将类型范围大的变量转换类型以达到赋值目的。
int a=20;
byte b=(byte)a;//即对a了强制类型转换之后再将值赋给b
运算符
1.计算运算符
+,-,*,/ 这四个运算符想必大家都不陌生啦,在Java中的使用注意下面两条就好啦
***整数/整数=整数;
***+也用作连接符,连接数字和字符串 例:
System.out.println("abcd"+5);//abcd5
System.out.println("abc"+'a');//abca
2.赋值运算符
=,+=,-=,*=,/=,%=
作用: 1赋值。 2.实现数据累加。 3.进行数据类型转换。
数据类型转换是怎么一回事呢?看完下面两行简单的代码应该就能明白咯
byte a=10,b=20,c;
c=a+b;//会报错,因为运算过程中byte自动转换为int类型,这里不能发生自动类型转换
byte a=10,b=20;
a+=b;//这样就不会发生报错了
3.关系运算符
==,>,<,>=,<=,!=
特别注意:在做相等运算时,用“==”而不是“=”!
4.逻辑运算符
&且,|或,!非,^异或,||双或,&&双与
接下来只对易记混的进行说明:
^异或:当^两侧结果不同时逻辑结果为true,两侧结果相同时为false
&&双与:又叫“短路与”,当左侧结果为假时,右侧不执行,逻辑结果与&相同
||双或:又叫“短路或”,当左侧结果为真时,右侧不执行,逻辑结果与|相同
5.三元运算符
基本形式:条件表达式?a:b
原理:先计算表达式的值若为true返回a;若为false返回b。
下面是个嵌套三元运算符
int i,j,k;
int Max=i>j?i>k?i:k:j>k?j:k;//第一眼是不是摸不着头脑
int i,j,k;
int Max=i>j?(i>k?i:k):(j>k?j:k);//加个括号是不是就一目了然啦
//这样求三个数的最大值,只需要简短的代码就可以完成
运算符之间有一定的等级顺序如下表