java Math数学工具及Random随机函数
Math类包含用于执行基本数学运算的方法,如绝对值、对数、平方根和三角函数。它是一个final类,其中定义的都是一些常量和静
态方法。常用方法如下:
public static double sqrt(double a) //求平方根
public static double ceil(double a) //求比a大的第一个整数
public static double floor(double a) //求比a小的第一个整数
public static double pow(double a,double b) //求指数,a为底数,b为指数
puiblic static long round(double a) //四舍五入
public staic int round(float a) //四舍五入
public static double random() //产生0~1的随机数
java三种产生随机数的方法:
1.通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字
2.通过Math.random()返回一个0到1的随机double值
3.通过Random类来产生一个随机数,这是专业的Random工具类,功能强大
Random类中实现的随机算法是伪随机,即有规则的随机。有一个起源种子数(seed),相同种子的Random对象,相同次数生成
的随机数一样
构造方法:
1.public Random()
2.public Random(long seed)
常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(5) //[0,5)的整数,永远取不到5
public int nextBoolean() //布尔值
public int nextFloat() //0-1浮点数
public int nextDouble() //0-1 double类型浮点数
Math类包含用于执行基本数学运算的方法,如绝对值、对数、平方根和三角函数。它是一个final类,其中定义的都是一些常量和静
态方法。常用方法如下:
public static double sqrt(double a) //求平方根
public static double ceil(double a) //求比a大的第一个整数
public static double floor(double a) //求比a小的第一个整数
public static double pow(double a,double b) //求指数,a为底数,b为指数
puiblic static long round(double a) //四舍五入
public staic int round(float a) //四舍五入
public static double random() //产生0~1的随机数
java三种产生随机数的方法:
1.通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字
2.通过Math.random()返回一个0到1的随机double值
3.通过Random类来产生一个随机数,这是专业的Random工具类,功能强大
Random类中实现的随机算法是伪随机,即有规则的随机。有一个起源种子数(seed),相同种子的Random对象,相同次数生成
的随机数一样
构造方法:
1.public Random()
2.public Random(long seed)
常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(5) //[0,5)的整数,永远取不到5
public int nextBoolean() //布尔值
public int nextFloat() //0-1浮点数
public int nextDouble() //0-1 double类型浮点数
import java.util.Random; public class MathRandomDemo { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(Math.floor(10.55)); //比它小的第一个整数 System.out.println(Math.ceil(10.55)); //比它大的第一个整数 System.out.println(Math.pow(2,3)); //求指数2的3次方 System.out.println(Math.round(10.6)); //四舍五入 System.out.println(Math.sqrt(64)); //比它小的第一个整数 System.out.println(Math.random()); Random random1 = new Random(); System.out.println(random1.nextInt()); Random random2 = new Random(10);//随机数不变 System.out.println(random2.nextInt()); Random random3 = new Random(System.currentTimeMillis());//将数字设为时间的毫秒数,则在不断变化 System.out.println(random3.nextInt()); System.out.println(random3.nextInt(5)); //随机生成[0,5),取不到 5 System.out.println(random3.nextBoolean()); System.out.println(random3.nextDouble());//双精度 System.out.println(random3.nextFloat());//单精度 } }