文章目录

1 Math 类概述2 常用的数学运算方式2.1 三角函数方法2.2 指数函数方法2.3 取整数函数方法2.4取最大值、最小值、绝对值函数方法

后记

1 Math 类概述

Math类表示数学类,它位于java.lang包中,由系统默认调用,该类中提供了众多数学函数方法,主要包括三角函数方法,指数函数方法,取整函数方法,取最大值,最小值以及绝对值函数方法,这些方法都被定义为static形式,因此在程序中可以直接通过类名进行调用。使用形式如下:

Math.数学方法

在Math类中除了函数方法之外还存在一些常用的数学变量,如PI、E等,这些数学常量作为Math的成员变量出现,调用起来也很简单,使用形式如下:

Math.PI Math.E

2 常用的数学运算方式

Math类中常用的数学运算方法较多,大致可以将其分成四大类别:分别是三角函数方法,指数函数方法,取整函数方法以及取最大值、最小值和绝对函数方法,下面分别介绍:

2.1 三角函数方法

方法返回值功能描述sin(double a)double返回角的三角正弦cos(double a)double返回角的三角余弦tan(double a)double返回角的三角正切asin(double a)double返回一个值的反正弦acos(double a)double返回一个值的反余弦atan(double a)double返回一个值的反正切toRadians(double angdeg)double将角度转换为弧度toDegrees(double angrad)double将弧度转换为角度

以上的每个方法的参数和返回值都是double型的,将这些方法的参数的值设置为double型是有一定的道理的,参数以弧度代替角度来实现,其中 1° 等于 π/180弧度,所以180°可以用π弧度来表示。除了可以获取角的正弦,余弦,正切。等之外,还提供了角度和弧度互相转化的方法,但是这两种转化通常是不精确的。

public class TrigonometricFunction {

public static void main(String[] args) {

// 取90度的正弦

System.out.println("90度的正弦值:" + Math.sin(Math.PI / 2));

System.out.println("0度的余弦值:" + Math.cos(0)); // 取0度的余弦

// 取60度的正切

System.out.println("60度的正切值:" + Math.tan(Math.PI / 3));

// 取2的平方根与2商的反正弦

System.out.println("2的平方根与2商的反弦值:"

+ Math.asin(Math.sqrt(2) / 2));

// 取2的平方根与2商的反余弦

System.out.println("2的平方根与2商的反余弦值:"

+ Math.acos(Math.sqrt(2) / 2));

System.out.println("1的反正切值:" + Math.atan(1)); // 取1的反正切

// 取120度的弧度值

System.out.println("120度的弧度值:" + Math.toRadians(120.0));

// 取π/2的角度

System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI / 2));

}

}

因为π本身的结果也是一个近似值,所以这些结果并不能保证十分的准确。

2.2 指数函数方法

方法返回值功能描述exp(double a)double用于获取e的a次方,既取eadouble log(double a)double用于获取自然对数,既取lna的值double log10(double a)double用于取底数为10的对数sqrt(double a)double用于取a的平方根,其中a的值不能为复数cbrt(double a)double用于取a的立方根pow(double a,double b)double用于取a的b次方

public class ExponentFunction {

public static void main(String[] args) {

System.out.println("e的平方值:" + Math.exp(2)); // 取e的2次方

// 取以e为底2的对数

System.out.println("以e为底2的对数值:" + Math.log(2));

// 取以10为底2的对数

System.out.println("以10为底2的对数值:" + Math.log10(2));

System.out.println("4的平方根值:" + Math.sqrt(4)); // 取4的平方根

System.out.println("8的立方根值:" + Math.cbrt(8)); // 取8的立方根

System.out.println("2的2次方值:" + Math.pow(2, 2)); // 取2的2次方

}

}

2.3 取整数函数方法

方法返回值功能描述ceil(double a)double返回大于等于参数的最小整数floor(double a)double返回小于等于参数的最大整数rint(double a)double返回与参数最接近的整数,如果两个同为整数且同样接近,则结果取偶数round(float a)double将参数加上0.5后返回与参数最近的整数round(double a)double将参数加上0.5后返回与参数最接近的整数,然后强制转换为长整型

由于1.5距离2.0和1.0都是0.5个单位长度,因此Math.rint(1.5)返回值是2.0

public class IntFunction {

public static void main(String[] args) {

// 返回第一个大于等于参数的整数

System.out.println("5.2 使用ceil()方法取整:" + Math.ceil(5.2));

// 返回第一个小于等于参数的整数

System.out.println("2.5 使用floor()方法取整:" + Math.floor(2.5));

// 返回与参数最接近的整数

System.out.println("2.7 使用rint()方法取整:" + Math.rint(2.7));

// 返回与参数最接近的整数

System.out.println("2.5 使用rint()方法取整:" + Math.rint(2.5));

// 将参数加上0.5后返回最接近的整数

System.out.println("3.4f 使用round()方法取整:" + Math.round(3.4f));

// 将参数加上0.5后返回最接近的整数,并将结果强制转换为长整型

System.out.println("2.5 使用round()方法取整:" + Math.round(2.5));

}

}

2.4取最大值、最小值、绝对值函数方法

方法返回值功能描述max(double a,double b)double取a和b之间的最大值min(int a,int b)int取a和b之间的最小值,参数为整型min(long a,long b)long取a和b之间的最小值,参数为长整型min(float a,float b)float取a和b之间的最小值,参数为浮点型min(double a,double b)double取a和b之间的最小值,参数为双精度型abs(int a)int返回整型参数的绝对值abs(long a)long返回长整型参数的绝对值abs(float a)float返回浮点型参数的绝对值abs(double a)double返回双精度型参数的绝对值

public class AnyFunction {

public static void main(String[] args) {

System.out.println("4和8较大者:" + Math.max(4, 8));

// 取两个参数的最小值

System.out.println("4.4和4较小者:" + Math.min(4.4, 4));

System.out.println("-7的绝对值:" + Math.abs(-7)); // 取参数的绝对值

}

}

后记

还有一个随机数函数 Math.random(),后面会和Random类做一下比较,并用仿微信抢红包的逻辑来试一下。

java指数函数_Java Math类方法学习记录相关推荐

  1. Java常用类(谷粒商城学习记录)

    Java常用类 谷粒商城学习记录 谷粒商城学习记录 谷粒商城学习记录 干嘛老是提示我与别人的文章相似呢?真的是我自己整理的啊啊啊 老是提示与这个文章相似 https://blog.csdn.net/c ...

  2. java字符串学习_java之字符串学习记录

    java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...

  3. java开源项目之IQQ学习记录之项目环境搭建与启动

    本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727 作者:sushengmiyan 现在就码字说说今天晚上搞定的一个项目 ...

  4. 微信小程序+java后台+云服务器开发学习记录

    仅作为个人学习记录

  5. java 容器_Java容器框架学习整理

    一:容器框架概述 1.什么是容器 2.Java 中的容器 二:Collectoin 容器 1.Collection 接口定义 2.Collection 三个重要的子接口 List.Set.Queue ...

  6. java角度_Java Math.toDegrees()弧度转换成角度

    首页 > 基础教程 > 常用类 > 常用 Number & Math类 Java Math.toDegrees()弧度转换成角度 Java中Math.toDegrees()用 ...

  7. java 正切_Java Math.tan()/Math.tanh() 计算正切/双曲正切

    首页 > 基础教程 > 常用类 > 常用 Number & Math类 Java Math.tan()/Math.tanh() 计算正切/双曲正切 java中Math.tan ...

  8. java程序设计_Java程序设计:学习笔记(4-5)(未完工)

    声明: 本文内容基于"吉首大学软件学院-Java程序设计(Java面向对象程序设计)"网课与个人实践经验修改编写而成.本文属于Arcadia项目组成部分.若有错误或不足之处存在请联 ...

  9. java开源项目之IQQ学习记录之单例模式与log4j日志记录

    作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的 ...

最新文章

  1. 字符串处理stringr包在微生物生态的应用基础
  2. R语言可视化堆叠(stack)的条形图并通过另外一个分类变量分离(dodge)条形图(stacking by one variable and dodging by another)实战
  3. java 正则表达式入门(一)
  4. 贝塞尔曲线 java_贝塞尔曲线理论及实现——Java篇
  5. 【Java】基于分子式求分子量
  6. ios实例开发精品文章推荐(8.13)
  7. CF1399B Gifts Fixing
  8. oracle_sqlserver和mysql获取表外键的方法_MYSQL教程如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)...
  9. 园林景观cad_9套CAD平面设计素材图,上千个绘图模板随意用,全部打包带走
  10. 单片机测量脉宽c语言程序,51单片机hc-sr04超声波测距(脉宽测量)DEMO程序
  11. CTA策略01_dualThrust
  12. Android之NDK开发入门
  13. BLUElegend传奇引擎不使用路由器架设单传奇的办法
  14. labelimg标注yolo格式Bug
  15. NYoj21 三个水杯
  16. WAP(wml)开发教程10--WAP网站服务器配置
  17. 5GHz超频教程:技嘉Z390 AORUS MASTER主板+酷睿i9
  18. 【VUE】【高德地图】如何隐藏(去除)高德地图api左下角logo
  19. apache评分标准_危重病人APACHE II评分表(标准)
  20. 怎样在服务器上放自己写的网页

热门文章

  1. Oracle EBS: 物料的属性设定
  2. ijkplayer 参数说明文档 --个人使用
  3. 居民个人综合所得预扣预缴税款计算器(网页单机版)
  4. 终极指南:如何为iOS8应用制作预览视频
  5. Windows server DNS服务器搭建
  6. Left_Leaning RedBlack Tree
  7. 重返研一,你会怎么过?
  8. 使用Python三步完成文本到语音的转换
  9. forest种树未能连接到服务器,沉迷种树-forest使用记
  10. E3闪光比Progskeet哪一个是更好地降级PS3的3.70到3.55固件