1、 math.random()
Math.random():产生一个[0,1)之间的随机数。
返回指定范围的随机数[m,n]的公式:Math.random()*(n-m+1)+m;
例
生成一个6位的随机字符串:
public static void main(String[] args){
String result="";
for(int i=0;i<6;i++){
//生成97-122的int型的整型
int intValue=(int)(Math.random()*26+97);
//将intValue强制转化成char类型后接到resul后面
result=result+(char)intValue;
}
//输出字符串
System.out.println(result);
}
2、 1公里=1000米
3、位运算
(1)整数的平均值
对于两个整数x,y,如果用 (x+y)/2 求平均值,会产生溢出,因为 x+y 可能会 大于INT_MAX,但是我们知道它们的平均值是肯定不会溢出的,我们用如下算法:
int average(int x, int y)
{
return (x&y)+((x^y)>>1);
}
(2) 判断int型变量a是奇数还是偶数 a % 2 等价于 a & 1
a&1 = 0 偶数
a&1 = 1 奇数
a&1 = 1 奇数
(3)判断一个整数是不是2的幂,对于一个数 x >= 0,判断他是不是2的幂
(9)不用temp交换两个整数
boolean power2(int x)
{
return ((x&(x-1))==0)&&(x!=0);
}
(9)不用temp交换两个整数
void swap(int x , int y)
{
x ^= y;
y ^= x;
x ^= y;
}