java 数字处理与位运算

1.位运算

& 按位与

| 按位或
^ 按位异或
~ 按位取反
<< 按位左移,补0
>> 按位右移,新的符号位同原来的符号位
>>> 按位右移,新的符号位总为0
所有的位操作符处理对象都是数字的补码

2.小数处理

整数与整数的除法结果仍是整数,小数点会被直接舍掉。
小数转化为整数,如(int)2.9还是小数点截掉处理。
% 求余运算符。若10.3%10,答案是0.3,而非整数


3.Math.常用方法

random() 随机数,返回[0,1)区间的double值。
round(x)返回x的四舍五入的值
max(a,b) a,b的最大值。注意,只是值比较,即便实参为引用类型,返回值也是基本类型。
min(a,b) a,b的最小值。
abs(x) 返回x的绝对值
ceil(x) 天花板,不小于x的最小整数
floor(x) 地板,不大于x的最大整数
pow( a,  b) 计算a为底数,b为指数的表达式
log( a) 计算以e为底的a的对数。若想计算以a为底的b的对数,需要log(b)/log(a)。

4.包装类型

java.lang.Double等。
包装类型之间比较大小可以用  大于号,小号(>,<)等,但相等的比较还需要用 equals()方法,不然还是比较的引用地址。

5.自动装箱拆箱

Long类型作实参,long作形参时,java会自动作拆箱。但要注意Long为null时会有空指针异常。
Long a=null;
//Exception in thread "main" java.lang.NullPointerException
long b=a;


上一篇:IEEE-SA董事刘东:开放+开源将带来新一波SDNFV创新


下一篇:[charles petzold]windows程序设计第六版