【Java常用类】Math类与Random类

63 篇文章 4 订阅

一:Math类

Math类是一个工具类,主要用于完成复杂的数字运算,如绝对值,三角函数,指数运算等。由于其构造方法被定义成private,因此无法创建Math类的对象。Math类中所有的对象都是静态方法,可以直接通过类名来调用他们。除了静态方法外,Math类中还有两个静态变量PI和E,分别代表数学中的π和e。

可以通过API文档来学习Math类的具体用法

例:

public class Demo09 {
	public static void main(String[] args) {
		System.out.println("计算绝对值的结果:"+Math.abs(-1));
		System.out.println("计算正弦的结果:"+Math.sin(1.57));
		System.out.println("计算余弦的结果:"+Math.cos(2.0));
		System.out.println("计算正切的结果:"+Math.tan(0.8));
		System.out.println("计算平方根的结果:"+Math.sqrt(4));
		System.out.println("计算立方根的结果:"+Math.cbrt(9));
		System.out.println("计算乘方的结果:"+Math.pow(2, 2));
		System.out.println("求大于参数的最小整数:"+Math.ceil(4.6));
		System.out.println("求小于参数的最大整数:"+Math.floor(-5.2));
		System.out.println("对小数进行四舍五入的结果:"+Math.round(-8.6));
		System.out.println("求两个数的较大值:"+Math.max(5.1, 5.5));
		System.out.println("求两个数的最小值:"+Math.min(5.1, 5.5));
		System.out.println("生成一个大于等于0.0小于1.0的随机数:"+Math.random());
	}

}

运行结果

注:

round()方法用于对某个小数进行四舍五入,此方法会将小数后面的数组全部忽略,返回一个int类型的数,而ceil()方法和floor()方法返回的都是double类型的数,这个数在数值上等于一个整数

二:Random类

在JDK 的java.util包中,有一个Random类。可以在指定的取值范围内随机产生数字。在Random类中提供了两种构造方法

Random() 
创建一个新的随机数生成器。  
Random(long seed) 
使用单个 long种子创建一个新的随机数生成器。  

以上两种构造方法其中一种是无参的,通过创建的Random实例对象每次使用的种子是随机的,因此每个对象所产生的随机数不同。如果希望创建的多个Random实例对象产生相同序列的随机数。则可以在创建对象时调用第二个构造方法,传入相同的种子即可。

相对于Math的random()方法而言,Random类提供了更多的方法来生成各种各样伪随机数,他不仅可以生成整数类型的随机数,还可以生成浮点类型的随机数,Random类中的常用方法

boolean nextBoolean() 
返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 boolean值。 
double nextDouble() 
返回下一个伪随机数,从这个随机数发生器的序列中 0.0和 1.0之间的 double值 0.0分布。 
float nextFloat() 
返回下一个伪随机数,从这个随机数发生器的序列中 0.0和 1.0之间的 float值 0.0分布。 
int nextInt() 
返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。 
int nextInt(int bound) 
返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。 
long nextLong() 
返回下一个伪,均匀分布 long从这个随机数生成器的序列值。 

例:


import java.util.*;
public class Demo10 {
	public static void main(String[] args) {
		Random r = new Random();
		System.out.println("生成boolean类型的随机数"+r.nextBoolean());
		System.out.println("生成double类型的随机数"+r.nextDouble());
		System.out.println("生成float类型的随机数"+r.nextFloat());
		System.out.println("生成int类型的随机数"+r.nextInt());
		System.out.println("生成0-10类型的随机数"+r.nextInt(10));
		System.out.println("生成long类型的随机数"+r.nextLong());
	}

}

运行结果 :

感谢观看!!! 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值