byte 1个字节
shot 2 字节
int 4字节
long 8字节
byte a =1;
a = a+3;/在编译时容易出现精度的丢失,因为3是int类型。在进行转换时,精度小的要向精度大的转换。
字符char 和数字进行运算时,会自动转换格式,这时候做的运算是对应字符的asics吗的值。
a++ 和++a的区别
eg:int a = 1,b;
b = ++a;//这时候b的值为2,意思是a的值先做加一之后再赋值给b
b = a++;//这个时候b的值为1,a的值为2表示a的值先赋值给b之后再加一。
如果在不进行赋值时:a++和++a是基本一样的。
&& 当有一个满足的时候不再继续执行。 &要判断两个条件同时满足。
| 两边都运算,|| 在一边为true时,不再进行下面的运算。
左移运算符<<的特点:乘以2的次幂,移几位乘以几。如果把6*2=12改为6<<1=12,利用左移运算效率相同的高。可是,它的局限就是只能操作2的倍数。
同样的右移也是这样,把对应数字的二进制向右移动对应的位数,移走的删除,左边空出来的补零。6>>2=1,6/2^2=1.右移就是除以2的幂次方。
>>:右移,最高位为0.右移后最高位补0,最高位为1,右移后补1.
>>>:无符号右移,无论最高位是0是1,右移后的空位都补0.
三元运算符,条件为真,执行前面,条件为假,执行后面。三元运算符是ifelse的一种简写。想要简写,if else执行完必须有结果出现,如果没有结果出现,如if中的语句是一个输出函数,则不能用三元运算符简写。