package javaObject;
import java.math.RoundingMode;
import java.security.SecureRandom;
import java.util.Random;
public class javaMath {
public static void main(String[] args) {
int number = -90;
double money = -100.1;
System.out.println(number);
System.out.println("绝对值:" + Math.abs(number) + ", " + Math.abs(money));
System.out.printf("取最大值(%d, %d):%d\n", 12, 3, (Math.max(12, 3)));
System.out.printf("取最小值(%d, %d):%d\n", 12, 3, (Math.min(12, 3)));
System.out.printf("取某数的某次方(%d的%d次方):%f\n", 3, 3, Math.pow(3, 3));
System.out.printf("取某数的平方根(%d):%f\n", 12, Math.sqrt(12));
/*
* Random:生成伪随机数
*/
System.out.printf("随机数(取值范围[0, 1]):%f\n", Math.random());
System.out.printf("取某个范围的随机数[%d, %d]:%f\n", 10, 50, RandomRand(10, 50));
// Random用来创建伪随机数。所谓伪随机数,是指只要给定一个初始的种子,产生的随机数序列是完全一样的。
// 未指定种子,则使用系统当前时间戳作为种子,因此每次运行时,种子不同,得到的伪随机数序列就不同。
Random randomNumbe = new Random();
System.out.println(randomNumbe.nextInt());
System.out.println(randomNumbe.nextInt(5));
System.out.println(randomNumbe.nextFloat());
System.out.println(randomNumbe.nextLong());
System.out.println(randomNumbe.nextFloat());
System.out.println(randomNumbe.nextDouble());
// 指定种子,则会得到完全确定的随机数序列:
Random randomValue = new Random(10);
System.out.println(randomValue.nextInt(10));
/*
* 真随机数
* SecureRandom:生成安全的随机数
* 无法指定种子,它使用RNG(random number generator)算法。
* 这个种子是通过CPU的热噪声、读写磁盘的字节、网络流量等各种随机事件产生的“熵”。
*/
SecureRandom randomSecure = new SecureRandom();
System.out.println(randomSecure.nextInt());
}
public static double RandomRand(int min, int max) {
double value = Math.random();
double minValue = min;
double maxValue = max;
value = value * (maxValue - minValue) + minValue;
return value;
}
}
Java 学习之 Math计算及SecureRandom随机数
猜你喜欢
转载自blog.csdn.net/potato512/article/details/103231113
今日推荐
周排行