java.lang包中的Math类包含许多用来进行科学计算的方法,这些方法可以直接通过类名调用。

Math类中还有两个静态常量E和PI,分别表示自然对数和圆周率。

以下是Math类的常用方法

pulblic static long abs(double a) 返回a的绝对值。

pulblic static double max(double a, double b)返回a、b的最大值

pulblic static double min(double a, double b)返回a、b的最小值

pulblic static double random()产生一个0到1之间的随机数(不包括0和1)

pulblic static double pow(double a, double b)返回a的b次幂

pulblic static double sqrt(double a)返回a的平方根

pulblic static double log(double a)返回a的对数

pulblic static double sin(double a)返回a的正弦值

pulblic static double asin(double a)返回a的反正弦值

BigInteger类

程序有时需要处理大整数, java.math包中的BigInteger类提供任意精度的整数运算。可以使用构造方法public BigInteger(String val)构造一个十进制的BigInteger对象。

以下是BigInteger类的常用方法。

public BigInteger add(BigInteger val)返回当前大整数对象与参数指定的大整数对象的和。

public BigInteger subtract(BigInteger val)返回当前大整数对象与参数指定的大整数对象的差。

public BigInteger multiply(BigInteger val)返回当前大整数对象与参数指定的大整数对象的积。

public BigInteger divide(BigInteger val)返回当前大整数对象与参数指定的大整数对象的商。

public BigInteger remainder(BigInteger val)返回当前大整数对象与参数指定的大整数对象的余。

public int compareTo(BigInteger val)返回当前大整数对象与参数指定的大整数对象的比较结果,返回值是1、-1或0,分别表示当前大整数对象大于、小于或等于参数指定的大整数。

public BigInteger abs()返回当前大整数对象的绝对值。

public BigInteger pow(int a)返回当前大整数对象的a次幂。

public String toString(int p)返回当前大整数对象p进制的字符串表示。

代码展示如下:

import java.math.BigInteger;

public class Test02 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
double a = 5.0;
double st = Math.sqrt(a);
System.out.println(a + "的平方根:" + st);
BigInteger result;
BigInteger one = new BigInteger("123456789");
BigInteger two = new BigInteger("987654321");
result = one.multiply(two);
System.out.println(result);
} }

截图如下所示:

Random类

可以使用Math类调用其类方法random()返回一个0至1之间的随机数(不包括0和1),如下代码所示:

int r = (int)(Math.random() * 100) + 1;
System.out.println(r);

得到的结果是在1~100的一个随机整数(包括1和100)。

java提供了更为灵活的用于获得随机数的Random类(该类在java.util包中)。使用Random类的如下构造方法:

public Random();

public Random(long seed);

创建Random对象,其中第二个构造方法使用参数seed指定的种子创建一个Random对象。人们习惯地将Random对象称为随机数生成器。例如,下列随机数生成器random调用不带参数的nextInt()方法返回一个随机整数。

import java.util.Random;

public class Test04 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
Random random = new Random();
System.out.println(random.nextInt());
}
}

运行结果如下所示:

如果想让随机数生成器random返回一个0至n之间(包括0,但不包括n)的随机数,可以让random调用带参数的nextInt(int m)方法(参数m必须取正整数值),例如,

System.out.println(random.nextInt(100));

运行结果如下所示:

如果程序需要随机得到true和false两个表示真和假的boolean值,可以让random调用nextBoolean()方法,例如,

System.out.println(random.nextBoolean());

运行结果如下所示:

review16的更多相关文章

随机推荐

  1. Sql注入基础_mysql注入

    Mysql数据库结构 数据库A 表名 列名 数据 数据库B 表名 列名 数据 Mysql5.0以上自带数据库:information_schema information_schema:存储mysql ...

  2. webpack安装和简单配置

    1.webpack是一个基于node的项目,所以先装好node和npm       参考我的随笔:https://www.cnblogs.com/jtnote/p/6230384.html 2.先创建 ...

  3. 关于主键(PRIMARY KEY)和自增(AUTO_INCREMENT)结合使用的知识点

    1.主键(PRIMARY KEY)和自增(AUTO_INCREMENT)同时使用两种写法:    a.主键(PRIMARY KEY)和自增(AUTO_INCREMENT)分两行写        创建一 ...

  4. web测试策略

    一.输入框 二.搜索功能 三.添加功能 四.修改功能 五.删除功能 六.注册.登陆模块 七.上传图片测试 八:文件导出 九.文件下载页面 十.查询结果列表 十一.cookie 一.输入框    1 字 ...

  5. python构造wireshark可以解析的LTE空口数据

    Wireshark是可以解析LTE的空口数据.但是在wireshark的实现中,这些数据都是被封装到UDP报文中.然后根据wireshark的格式文件对LTE的数据加上头信息.头信息的定义参考附件pa ...

  6. 0403-服务注册与发现-客户端负载均衡-Ribbon的基本使用

    一.概述 问题1.上一篇文章已说明如何注册微服务,但是调用方如何调用,以及如何防止硬编码.即电影微服务调用用户微服务 问题2.用户微服务多个节点,调用服务方如何负载均衡 二.实现负载均衡方式 2.1. ...

  7. F-02 创建财务凭证BAPI

    **.获取抬头参数, documentheader **.项目参数 accountgl = lt_acgl"G/L account item accountreceivable = lt_a ...

  8. 001infor record 计划时间取值增强-20150622

    ZMD_MRP_PARAMETERS 3000公司下工厂跑MRP时,如果为外购则通过外挂表取infor record计划交期. METHOD if_ex_md_mrp_parameters~adjus ...

  9. jquery 字符串转为json

    使用ajax从服务器拿到的数据,jquery总是认为是字符串,无法直接使用,可以通过下面代码转换: $.get("服务器路径", function(data) { data = e ...

  10. Django——admin组件

    Django提供了基于web的管理工具. Django自动管理工具是django.contrib的一部分.你可以在项目的settings.py中的INSTALLED_APPS看到它: # Applic ...