表达式:
相加赋值&加等赋值
c = c + a;和c += a;区别:不是完全等价的;如:
byte a = 5; byte b = 6; byte c = 1; c += a;结果:得到c的结果为6在+=操作中,是自动转型的值转换:
b = (byte)(b + a);//b + a默认是int类型c++和c+=1是一样的,内部会自动转换。
如:
char c = 'A'; 那么c++后,输出c,则是字符B比较:
不能连续比较
如:
a==b==c原因: 因为a==b已经得到了结果值(boolean值),boolean值不能和其他类型比较在比较时候自动进行转型操作
如:
byte a = 123; int c = 123; a==c;得到结果是true;char类型可以相互比较 char与int可以进行比较char类型按其十进制索引转换成int类型boolean值能使用的关系运算符:
等于 | 不等于 |
移位运算:
进行移位运算后的变量值不变,需要接收
i>>=2; | 相当于 | i = i>>2; |
移位方向:
左移n位 | 数值乘2的n次方;(可能移位成一个负数) |
右移 | 没有规律,只能用二进制计算,因为会丢失位数,最后再移则为0 |
移位符号:
>> | 两个箭头 | 如果是正数,高位补0/vert如果是负数,高位补1 |
>>> | 三个箭头 | 无论正负,高位补0 |
字符串连接运算符:
字符串在前 | 连接的表达式:以后碰到加号就一直拼接为字符串;(可以用小括号改变优先级) |
字符串在后 | 连接的表达式:先计算,再拼接; |
优先级:
自加自减比普通运算高先比较关系运算符(得到boolean值)再运算逻辑运算符赋值在最后
算术 | 关系 | 逻辑 | 赋值 |
新闻热点
疑难解答