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. Django的admin定制

    1,models编写 #encoding=utf-8 from django.db import models # Create your models here. class BookInfo(mo ...

  2. 简述Python的深浅拷贝以及应用场景

    深浅拷贝的原理 深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:copy.deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝 ...

  3. ThreadLocal (三):为何TransmittableThreadLocal

    一.示例 线程池内的线程并没有父子关系,所以不适合InheritableThreadLocal的使用场景 public class ThreadPoolInheritableThreadLocalDe ...

  4. Linux中的自定义变量

    范围: 只在当前Shell中生效 语法: 变量定义: name="xiaol" hello="$name"" hello" 变量调用: ec ...

  5. 【生产问题】--8KW的数据表导致业务卡顿

    问题描述:业务突然变得巨卡 分析思路: (1)分析用户请求进程:查看是否有长期运行霸占锁的情况,或者进程数量巨多.很明显我这里就是巨多,正常情况一般0~40来个的样子,在业务使用高峰期居然达到了140 ...

  6. 20170413 F110学习

                  F110 学习: Tcode: F110  自动付款业务, FBZP   维护收付程序设置 FBL1N   供应商行项目 XK03   显示供应商(银行信息维护) F110 ...

  7. 【C语言】linux C写入本地文件

    //定义写入文件 FILE *pFile; //定义文件路径变量 ]; //变量赋值 sprintf(local_file,"/tmp/test.json"); //打开文件 pF ...

  8. flask实例化参数以及信号

    一.实例化补充 instance_path和instance_relative_config是配合来用的.这两个参数是用来找配置文件的,当用app.config.from_pyfile('settin ...

  9. python调用php函数

    由于php不支持多线程,所以想借助python搞一个.1.import subprocessimport time#Simple caller, disguard outputmethod=" ...

  10. $百度应用引擎BAE的使用与应用部署

    百度应用引擎(BAE)是百度推出的网络应用开发平台,开发者使用BAE不需要进行服务器的配置.维护等繁琐的工作,也不需要进行域名的申请.备案等工作,而只需要上传自己的WEB应用即可在公网上访问.使用及部 ...