常用类四(Math类)

       

目录

Math 类的常用方法:

Random 类的常用方法:

         java.lang.Math 提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般 为 double 型。如果需要更加强大的数学运算能力,计算高等数学中的相关内容,可以使用 apache commons 下面的 Math 类库。

Math 类的常用方法:

abs 绝对值
acos,asin,atan,cos,sin,tan 三角函数
sqrt 平方根
pow(double a, double b) a 的 b 次幂
max(double a, double b) 取大值
min(double a, double b) 取小值
ceil(double a) 大于 a 的最小整数
floor(double a) 小于 a 的最大整数
random() 返回 0.0 到 1.0 的随机数
long round(double a) double 型的数据 a 转换为 long 型(四舍五入)
toDegrees(double angrad) 弧度->角度
toRadians(double angdeg) 角度->弧度

public class TestMath {
    public static void main(String[ ] args) {
        //取整相关操作
        System.out.println(Math.ceil(3.2));
        System.out.println(Math.floor(3.2));
        System.out.println(Math.round(3.2));
        System.out.println(Math.round(3.8));
        //绝对值、开方、a 的 b 次幂等操作
        System.out.println(Math.abs(-45));
        System.out.println(Math.sqrt(64));
        System.out.println(Math.pow(5, 2));
        System.out.println(Math.pow(2, 5));
        //Math 类中常用的常量
        System.out.println(Math.PI);
        System.out.println(Math.E);
        //随机数
        System.out.println(Math.random());// [0,1)
    }
}

        Math 类中虽然为我们提供了产生随机数的方法 Math.random(),但是通常我们需要的随 机数范围并不是[0, 1)之间的 double 类型的数据,这就需要对其进行一些复杂的运算。如果 使用 Math.random()计算过于复杂的话,我们可以使用例外一种方式得到随机数,即 Random 类,这个类是专门用来生成随机数的,并且 Math.random()底层调用的就是 Random 的 nextDouble()方法。

Random 类的常用方法:

import java.util.Random;

public class TestRandom {
    public static void main(String[ ] args) {
        Random rand = new Random();
        //随机生成[0,1)之间的 double 类型的数据
        System.out.println(rand.nextDouble());
        //随机生成 int 类型允许范围之内的整型数据
        System.out.println(rand.nextInt());
        //随机生成[0,1)之间的 float 类型的数据
        System.out.println(rand.nextFloat());
        //随机生成 false 或者 true
        System.out.println(rand.nextBoolean());
        //随机生成[0,10)之间的 int 类型的数据
        System.out.print(rand.nextInt(10));
        //随机生成[20,30)之间的 int 类型的数据
        System.out.print(20 + rand.nextInt(10));
        //随机生成[20,30)之间的 int 类型的数据(此种方法计算较为复杂)
        System.out.print(20 + (int) (rand.nextDouble() * 10));
    }
}

Random 类位于 java.util 包下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/488642.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java程序设计】【C00343】基于Springboot的船运物流管理系统(有论文)

基于Springboot的船运物流管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 项目获取 🍅文末点击卡片获取源码🍅 开发环境 运行环境:推荐jdk1.8; 开发工具:eclipse以及i…

libVLC 视频缩放

libvlc是一个常用的开源多媒体框架,它可以用来播放和处理各种类型的音频和视频文件。如果想要缩放视频,可以通过libvlc提供的API来实现。 //设置视频的缩放比例。 libvlc_video_set_scale() 以下是如何使用 libVLC 设置视频缩放的基本步骤:…

根据IP地址获取归属地

IP获取归属地,通过地址库获取 如果使用API接口获取,可能会出现服务挂了,或者服务地址不提供服务了等问题。而采用本地地址库就没有这些问题。 本文采用离线IP地址定位库 Ip2region,Ip2region是一个离线IP地址定位库,微…

ElasticSearch之数据建模

写在前面 本文看下es数据建模相关的内容。 1:什么是数据建模 数据建模是对真实数据的一种抽象,最终映射为计算机形式的表现。其包括如下三个阶段: 1:概念模型 2:逻辑模型 3:数据模型2:es数据…

案例分享:F5助力车企打造智能高效自动化应用

纵观当下的汽车市场,智能汽车百花齐放。自动驾驶、车载娱乐、实时3D地图等实现人机互动的出行场景,解锁着全新的出行方式。然而得到独特而先进的智能用车体验,离不开持续而深入的汽车应用变革。那么怎样打造智能高效的自动化应用呢&#xff1…

JavaWeb后端——HTTP协议/Tomcat

HTTP HTTP协议:无状态,对事务处理没有记忆能力。每次请求-响应都是独立的。后一次请求不会记录前一次请求数据。缺点:多次请求之间不能共享数据,优点:速度快。 HTTP协议请求报文: HTTP协议响应报文&#x…

(MATLAB)第二十一章 Simulink仿真设计初步

Simulink是MATLAB的重要组成部分,可以非常容易地实现可视化建模,并把理论研究和工程实践有机地结合在一起,不需要书写大量程序,只需要使用鼠标和键盘对已有模块进行简单的操作和设置。 21.1 Simulink简介 Simulink是MATLAB软件的…

一、Java开发环境搭建-----系统类的简单使用

JavadocAPI文档练习: 1、Date类的使用——代码实战 Date类为日期类,是Java中和日期相关的一个类,如下将日期做一个简单的介绍。 package com.kangning.web.controller.common;import java.util.Date;public class DateDemo1 {public static…

SAP/ERP系统PP模块常用增强之二:报表COOIS增加字段

SAP/PP模块中的COOIS报表(订单信息系统)是最常用的标准报表之一,它可以查询有关生产订单的完整信息,但实际项目实施中也会经常遇到这个报表增强需求,一般要求增加一些产品相关的一些额外信息。 SAP系统为此类需求预留第三代BADI增强出口,可以非常方便的实现在COOIS报表中…

水泊梁山108小酒坛之小李广花荣

小李广花荣,是中国著名小说《水浒传》中的108将之一,有“百步穿杨”的功夫。在梁山泊英雄中排行第九,为马军八虎骑兼先锋使之首。原是清风寨副知寨,使一杆银枪,一张弓射遍天下无敌手,生得一双俊目&#xff…

谈谈消息队列

这篇文章我们来聊聊消息队列。我一直在想,能不能用一篇文章就把消息队列的所有内容给串联起来。然后,之后每次看到这篇文章的时候,我就能够立马回忆起来这个大知识的所有知识点。所以我想尝试一下用这种长文的方式,将我自己对于消…

财富池指标公式--通达信资金进场买入提示指标公式

1、“准备现金”信号出现,可开始关注该个股,等待合适价位介入,较为激进的投资者也可在此时介入,更稳健的做法是,等到“买入股票”信号出现后再介入。 2、“见顶清仓”信号出现,预示着即将见顶,是…

Matlab从入门到精通课程

教程介绍 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 学习地址 链接:https://pan.baidu.com/s/1PxGarBwQusMzwPVqcE…

【JavaScript】JavaScript 程序流程控制 ⑥ ( while 循环概念 | while 循环语法结构 )

文章目录 一、while 循环1、while 循环概念2、while 循环语法结构 二、while 循环 - 代码示例1、打印数字2、计算 1 - 10 之和 一、while 循环 1、while 循环概念 在 JavaScript 中 , while 循环 是一种 " 循环控制语句 " , 使用该语句就可以 重复执行一段代码块 , …

如何使用 ArcGIS Pro 制作三维建筑

三维地图已经逐渐成为未来地图的趋势,对于大范围应用,只需要普通的建筑体块就行,如果有高程数据,还可以结合地形进行显示,这里为大家介绍一下 ArcGIS Pro 制作三维建筑的方法,希望能对你有所帮助。 数据来…

Kimi是什么?免费Kimi chat介绍

1. Kimi是什么? Kimi是由月之暗面科技有限公司(Moonshot AI)开发的人工智能助手,专注于提供高质量的对话和信息处理服务。 月之暗面公司创立于2023年3月,创始团队核心成员参与了Google Gemini、Google Bard、盘古NLP、…

Java面试篇:Redis使用场景问题(缓存穿透,缓存击穿,缓存雪崩,双写一致性,Redis持久化,数据过期策略,数据淘汰策略)

目录 1.缓存穿透解决方案一:缓存空数据解决方案二:布隆过滤器 2.缓存击穿解决方案一:互斥锁解决方案二:设置当前key逻辑过期 3.缓存雪崩1.给不同的Key的TTL添加随机值2.利用Redis集群提高服务的可用性3.给缓存业务添加降级限流策略4.给业务添加多级缓存 4.双写一致性…

✮✮✮宁波CE认证,CE认证,CE产品检测✮✮✮

✮✮✮🌈宁波CE认证,🌈CE认证,🌈CE产品检测🌈✮✮✮ ❀热点:😘CE认证什么意思 ❀优势:😜CE认证的目的 ✎🍒CE认证定义和目的 ✎🍐CE认…

李宏毅深度强化学习导论——演员-评论员

引言 本文主要介绍演员-评论员(Actor-Critic)算法。 Critic 给定Actor θ \theta θ,Critic评估当观测到 s s s(或进一步地采取行动 a a a)的好坏。 价值函数(Value function),记为 V θ ( s ) V^\theta(s) Vθ(s),就是一种Critic。 它的…

蓝桥杯刷题(十四)

1.小平方 代码 n int(input()) count0 def f(x)->bool: # 判断条件return True if x**2%n<n/2 else False for i in range(1,n): # 遍历[1,n-1]&#xff0c;符合题意计数加一if f(i):count1 print(count)2.3的倍数 代码 a int(input()) b int(input()) c int(input…