java中的进制与操作符
直接常量
double: 111d,111D
二进制:前缀为0b
十六进制:前缀为0x或0X,后面最大9位。
八进制:前缀为0,后面最大7位。
按位操作符
与(&):
或(||):
异或(^):
非(~,一元操作符):
移位操作符
<<
:左移位,按指定位数向左移动,在低位补0
>>
:有符号右移,按指定位向右移动。符号为正,在高位插入0,符号为负,在高位插入1
>>>
:无符号右移,无论正负,都在高位插入0
1."在java中-1用二进制中的32个1表示吗?"
答案是yes;Integer.toBinaryString(-1);返回-1的机器码---32个1.
2.负数在计算机中的存储形式是其同值正数的补码.
int 正1的原码是000000000000000000000001
int 正1的反码是(原码各位取反)11111111111111111111111111111110 int
正1的补码是(反码末位加1)11111111111111111111111111111111 所以.....
字符串操作符 + 和 +=
int x=1,y=0,z=2;
String s = "x,y,z";
system.out.println(s + x + y + z); //这里x,y,z会自动转化为String
如果上面的代码要输出x,y,z的值,这样写s+(x +y + z)
进制转换、操作符详解
java中的二进制 https://blog.csdn.net/qq_31156277/article/details/80427360
类型转换和操作符
- 将float或double转型为整型时,总是对数字进行截尾。比如0.7,转型后得0。如果想得到舍入的结果,需要用
java.lang.Math.round()
方法。