java中常见的math方法

java.lang.Math :

绝对值:

static int abs(int a)

static long abs(long a)

static float abs(float a)

static double abs(double a)

极值:

static int max(int a, int b)

static long max(long a, long b)

static float max(float a, float b)

static double max(double a, double b)

static int min(int a, int b)

static long min(long a, long b)

static float min(float a, float b)

static double min(double a, double b)

三角:

static double sin(double a)          //正弦函数

static double sinh(double x)        //双曲正弦函数

static double cos(double a)         //余弦函数

static double cosh(double x)       //双曲余弦函数

static double tan(double a)         //正切函数

static double tanh(double x)       //双曲正切函数

static double asin(double a)

static double acos(double a)

static double atan(double a)

static double atan2(double y, double x)

对数,指数:

static double log(double a)

static double log10(double a)

static double log1p(double x)             // ln (x+1)

static double exp(double a)

static double expm1(double x)           // e^a - 1

幂,根:

static double pow(double a, double b)

static double sqrt(double a)

static double cbrt(double a)                              // cube root

static double hypot(double x, double y)           // sqrt(x2 +y2)

static double scalb(double d, int scaleFactor)   // d × 2scaleFactor

static float scalb(float f, int scaleFactor)            // f × 2scaleFactor

随机:

static double random()

最接近的整数:

static long round(double a)

static int round(float a)

浮点数:

static double nextAfter(double start, double direction)

static float nextAfter(float start, double direction)

static double nextDown(double d)

static float nextDown(float f)

static double nextUp(double d)

static float nextUp(float f)

static double ceil(double a)

static double floor(double a)

static int floorDiv(int x, int y)

static long floorDiv(long x, long y)

static int floorMod(int x, int y)

static long floorMod(long x, long y)

无溢出计算:如果溢出则抛异常

static int toIntExact(long value)

static int addExact(int x, int y)

static long addExact(long x, long y)

static int subtractExact(int x, int y)

static long subtractExact(long x, long y)

static int multiplyExact(int x, int y)

static long multiplyExact(long x, long y)

static int negateExact(int a)

static long negateExact(long a)

static int incrementExact(int a)

static long incrementExact(long a)

static int decrementExact(int a)

static long decrementExact(long a)

符号:

static double signum(double d)

static float signum(float f)

角度转换:

static double toDegrees(double angrad)

static double toRadians(double angdeg)

其他:

static int getExponent(double d)

static int getExponent(float f)

static double rint(double a)                 // round int

static double copySign(double magnitude, double sign)        //采用 magnitude 的值和 sign 的符号

static float copySign(float magnitude, float sign)

static double IEEEremainder(double f1, double f2)              // f1 除以 f2的余数

static double ulp(double d)

static float ulp(float f)

 1 package com.hone.test;
 2
 3 /**
 4  * 测试java.lang.Math的方法
 5  * @author Xia
 6  *
 7  */
 8 public class Maths {
 9
10     public static void main(String[] args) {
11         double d = 123.456;
12         double d2 = -123.456;
13
14         int i = 123;
15         int b = 389;
16         System.out.printf("%.2f%n", d2);                //按照格式输出2位小数
17         System.out.printf("%.3f%n", Math.abs(d2));        //Math.abs(d2) 获取绝对值
18
19         //------------没有溢出计算,如果有溢出则抛出异常--------------------
20         System.out.println(Math.addExact(i, b));
21         System.out.println(Math.incrementExact(i));        //如果溢出则加1   ------124
22
23         //------------极值--------------------
24         System.out.println(Math.max(d, d2));            //选择更大的一个值      123.456
25         System.out.println(Math.min(i, b));            //选择更小的一个值          123
26
27         //------------对数,指数--------------------
28         System.out.println(Math.log(d));                //输出以e为底的对数
29         System.out.println(Math.log10(100.0));             //输出以10为底的对数
30         System.out.println(Math.log10(100.0));             //输出以10为底的对数
31
32         System.out.println(Math.exp(1));                 //输出以e为底的指数
33
34         //------------幂,根:--------------------
35         System.out.println(Math.pow(d, d2));            //表示d^d2
36         System.out.println(Math.sqrt(d));                 //取d的均方根
37         System.out.println(Math.cbrt(1000));             //立方根
38
39         //------------随机数--------------------
40         System.out.println(Math.random());                //取(0,1)之间的随机数
41
42         //------------最接近的整数:--------------------
43         System.out.println(Math.round(d));                //四舍五入取整
44
45         System.out.println(Math.ceil(d));                 //向上取整
46         System.out.println(Math.floor(d));                 //向下取整
47     }
48 }
时间: 2024-11-11 22:04:24

java中常见的math方法的相关文章

Java中常见的5种WEB服务器介绍

这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问.开发Java Web应用所采用的服务器主要是与JSP/Servlet兼容的Web服务器,比较常用的有Tomcat.Resin.JBoss.WebSphere 和 WebLogic 等,下面将分别进行介绍. Tomc

java中的jdbc连接数据库方法及应用

jdbc连接数据库的口诀:猪脸特直观 import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Demo03 { public static void main(String[] args) thr

java中常见的输入输出流案例学习

字节输入流: 1.FileInputStream 用途:从文件系统中的文件获得输入字节,常用于读取图像.声音等原始字节流,读取字符流可考虑使用FileReader 详细构造函数与常用方法可参考API文档,网上已经有中文版的API了,我是个E文盲,伤不起 这里介绍一个最常见的方法: read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个 byte 数组中. ->off:b字节数组中的偏移量 小知识:数组偏移量,比如a[1,2,3,4,5]

Java中常见的设计模式

我在这里稍微总结一下Java中常见的一些设计模式. 1,单例设计模式 单例设计是Java中最常见的模式之一,,它就是要保证程序里边只有一个对象实例.就好比班上都叫他为班长,是因为得保证班上只有一个班长. 单例设计模式的程序设计思想反应的是Java面向对象思想的封装特性.就是为了保证只有一个对象实例,我们私有化它的构造函数,对外只提供一些相关的 公共方法来获得对象实例. 单例设计模式的实现主要分为饿汉式和懒汉式 饿汉式是先对类的对象实例化,随着类的加载对象也加载进来缺点是会造成性能的损耗好处是实现

Java中常见的jar包的用途

jar包用途  axis.jar   SOAP引擎包  commons-discovery-0.2.jar   用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法.  jaxrpc.jar     Axis运行所需要的组件包  saaj.jar 创建到端点的点到点连接的方法.创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法.    wsdl4j-1.5.1.jar Axis运行所需要的组件包  activation.jar JAF框架的jar

Java中常见设计模式面试

一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种: 策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 1.请列举出在JDK中几个常用的设计模式? 单例模式用于Runtime, Calendar和其他的一些类中.工厂模式被

Java中vector的使用方法

Vector的使用 vector类底层数组结构的,它包含可以使用整数索引进行访问的组件.不过,vector的大小可以根据需要增大或缩小,以适应创建vector后进行添加或移除项的操作,因此不需要考虑元素是否越界或者会不会浪费内存的问题. 由vector的iterator和listIterator方法所返回的迭代器是快速失败的:也即是它不能并发执行操作.如果在迭代器创建后的任意时间从结构上修改了向量(通过迭代器自身的remove或add方法之外的任何其他方式),则迭代器将抛出ConcurrentM

Java中Integer类的方法

字段摘要 static int MAX_VALUE              保持 int 类型的最大值的常量可取的值为 231-1. static int MIN_VALUE              保持 int 类型的最小值的常量可取的值为 -231. static int SIZE              以二进制补码形式表示 int 值的位数. static Class<Integer> TYPE              表示基本类型 int 的 Class 实例. 构造方法摘要

java中substring的使用方法

str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str: str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex開始至endIndex结束时的字符串,并将其赋值给str; 下面是一段演示程序: public class StringDemo{ public static void main(String agrs[]){ Str