【JavaSE】Math类

举报
兮动人 发表于 2022/03/19 14:03:15 2022/03/19
【摘要】 1. 基本介绍 2. 方法一览(均为静态方法) 3. Math 类常见方法应用案例 4. Math.random 求随机数 1. 基本介绍Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。 2. 方法一览(均为静态方法) 3. Math 类常见方法应用案例public class MathMethod { public static void main(...

1. 基本介绍

  • Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

2. 方法一览(均为静态方法)

在这里插入图片描述

3. Math 类常见方法应用案例

public class MathMethod {
    public static void main(String[] args) {
        //1.abs 绝对值
        int abs = Math.abs(-9);
        System.out.println(abs);//9
        
        //2.pow 求幂
        double pow = Math.pow(2, 4);//2的4次方
        System.out.println(pow);//16
        
        //3.ceil 向上取整,返回>=该参数的最小整数(转成double);
        double ceil = Math.ceil(3.9);
        System.out.println(ceil);//4.0
        
        //4.floor 向下取整,返回<=该参数的最大整数(转成double)
        double floor = Math.floor(4.001);
        System.out.println(floor);//4.0
        
        //5.round 四舍五入  Math.floor(该参数+0.5)
        long round = Math.round(5.51);
        System.out.println(round);//6
        
        //6.sqrt 求开方
        double sqrt = Math.sqrt(9.0);
        System.out.println(sqrt);//3.0
    }
}

在这里插入图片描述

4. Math.random 求随机数

  • random :求随机数,返回的是 0 <= x < 1 之间的一个随机小数
  • 思考题:请写出获取 a-b之间的一个随机整数,a,b均为整数 ,比如 a = 2, b=7;, 即返回一个数的范围在: 2 <= x <= 7
  • 解读:
Math.random() * (b-a) 返回的就是 0  <=<= b-a
(1) (int)(a) <= x <= (int)(a + Math.random() * (b-a + 1) )
(2) 使用具体的数介绍 a = 2  b = 7

 (int)(a + Math.random() * (b-a +1) ) = (int)( 2 + Math.random()*6)
 
 Math.random()*6 返回的是 0 <= x < 6 之间的小数
 2 + Math.random()*6 返回的就是 2<= x < 8 之间的小数
 
 (int)(2 + Math.random()*6) = 2 <= x <= 7
 
(3) 公式就是  (int)(a + Math.random() * (b-a +1) )
  • 演示:
	for (int i = 0; i < 10; i++) {
	    System.out.println((int) (2 + Math.random() * (7 - 2 + 1)));
	}

在这里插入图片描述

  • max , min 返回最大值和最小值
	//max , min 返回最大值和最小值
	int min = Math.min(1, 9);
	int max = Math.max(45, 90);
	System.out.println("min=" + min);
	System.out.println("max=" + max);

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。