1、赋值运算符看起来是比较简单的,不过有个地方需要注意的那就是:
(+=、-=、×=、/=、%=),他们都表示一个符号。
例:
x += 4;
表示的意思是:
x = x + 4;
但是有个需要注意的是:
short s = 4;
s = s + 1 ;//此处编译就错误(因为 s + 1 得到的结果是 int 类型的)
System.out.println(s);
//此时会报错!但是如果改为下面的代码就不会了
short s = 4;//此时把 short 改为 byte 也一样可以
s += 1;
System.out.println(s);
(此时的<1>、s= s + 1 ;是做了两个动作,先是加法运算,后是赋值运算。在进行加
法运算的时候就已经确定了得到的结果是 int 类型的,所以不能再往 s 中存放。<2>、而
s += 1;它只做了一个赋值的过程,故在判断 5 可以以 short 类型来存放的情况下进行自
动转换为 short)
2、还有个需要注意的:
<1>、在进行算术运算的时候,如果运算符两边的数值都是比 int 还低(即 byte
或 short 类型时,都是自动先转换为 int 类型来进行运算的)
即:例 short s = 4;
short x = 1;
s = s + x;//此时还是会报错
<2>、在进行运算的时候,会自动的转换成级别高的那个来进行运算的,故结果也
是高级别的那个,如果想为低的就需强制类型转换
例: int s = 4;
double x = 1;
s = s + x ;//此时是会报错的,应写为 s = (int)(s + x);
<3>、还有个小现象不常用但要看懂哦!
int a,b,c;
a = b = c = 5;//此时的 a、b、c 结果都为 5 了哦
//再一个就是 赋值的左边必须是变量