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. 洛谷P5274 优化题(ccj)

    洛谷P5274 优化题(ccj) 题目背景 CCJCCJ 在前往参加 Universe \ OIUniverse OI 的途中... 题目描述 有一个神犇 CCJCCJ,他在前往参加 Universe ...

  2. javafx tableview 设置多选

    id_resultTable.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

  3. spring 登录提示 Bad credentials

    spring 日志输出:Authentication failed: password does not match stored value in spring security 3.2,检查密码发 ...

  4. 从SignalTap II中获取“最真实”的仿真测试向量(ZZ)

         在实际工作中,经常会遇到这样的情况:在硬件调试中采用SignalTap II反复多次编译并最终捕获到问题的原因时,才会发现,原来这个问题是逻辑问题,是可以在仿真环境下发现并快速解决的.先前没 ...

  5. HTMLbutton控件中文字显示一直不居中

    在写HTML时,发现HTML中button控件中文字显示一直不居中, 最后发现是在标签前出现了一个全角空格引起的. 在Emeditor中将不显示的字符(空格,全角空格,换行,制表符)设置为显示,就可以 ...

  6. jmeter 测试restful接口

    jmeter 测试restful接口,JSON数据格式 1.添加线程组 2.添加HTTP信息头管理器 请求发送JSON数据格式参数,需要设置Content-Type为application/json ...

  7. 31 整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...

  8. iOS 52个技巧学习心得笔记 第二章 对象 , 消息, 运行期

    1. 属性 在开发过程中经常要用到定义属性,@property和@synthesize是经常用到的属性, property在.h文件中作声明,@synthesize在.m文件中用于实现 // Stud ...

  9. 【HackerRank】Closest Numbers

    Sorting is often useful as the first step in many different tasks. The most common task is to make f ...

  10. Shell编程之IF条件

    一.if条件语句的知识与实践 1.if条件语句语法(单分支结构) 第一种: if < 条件表达式 > then 指令 fi 第二种: if < 条件表达式 >; then 指令 ...