龙空技术网

初识java—(三十五)Math类、Random类和BigDecimal类

IT研究僧 102

前言:

当前兄弟们对“java bigdecimal取模”可能比较注意,咱们都需要学习一些“java bigdecimal取模”的相关内容。那么小编也在网上搜集了一些有关“java bigdecimal取模””的相关文章,希望朋友们能喜欢,咱们快快来了解一下吧!

7.3.3 Math类

Java提供了最简单加、减、乘、除、取模等基本运算。同时还提供了Math类来进行更复杂的数学运算。

static abs(Xxx xx):将基本数据类型转换成其绝对值返回。

static max(Xxx a,Xxx b):返回两个值中较大的一个

static min(Xxx a,Xxx b):返回两个值中较小的一个

static pow(double a,double b):返回第一个参数的第二个参数次幂的值。

static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

public static void main(String[] args) throws Exception{//取某一个范围内的随机数for(int i=0;i<5;i++){System.out.println((int)(Math.random()*100));}}

一个小例题:

如何取得给定任意范围内的随机数?

public static void main(String[] args){Scanner scan = new Scanner(System.in);int start = scan.nextInt();int end = scan.nextInt();System.out.println(getRan(start,end));}public static int getRan(int start,int end){int number = (int)(Math.random()*(end-start+1)+start);return number;}
7.3.4 Random类

Random类专门用于生成一个随机数。主要方法为:nextXxx(Xxx xxx)

public Random():创建一个新的随机数生成器。

Random(long seed):使用单个 long 种子创建一个新的随机数生成器。给定种子后,每次得到的随机数是相同的。

static Xxx nextInt(int n):返回该类型的一个随机数。返回的范围是[0,n)范围内的随机数。

static Xxx nextInt():返回该类型的一个随机数。返回的范围是int范围内的随机数。

7.3.5 BigDecimal类

double、float浮点数在进行数据基本运算时会发生数据丢失现象,这种情况不仅仅是在Java语言中,在其他语言中同样存在。例如:

public static void main(String[] args) throws Exception{System.out.println(0.05+0.01);System.out.println(1.0-0.42);System.out.println(4.015*100);System.out.println(123.3/100);}

Java提供了BigDecimal类,用于处理进行基本运算发生的数据丢失问题。

使用BigDecimal构造器创建对象时,建议优先使用String类型对象作为参数传入进行初始化。

举例: BigDecimal decimal = new BigDecimal(“12.5”);

BigDecimal类提供了add()、subtract()、multiply()、divide()、pow(int n)、等方法对精确浮点数进行常规算术运算。

举例1:

public static void main(String[] args) throws Exception{BigDecimal b1 = new BigDecimal("0.05");BigDecimal b2 = new BigDecimal("0.01");System.out.println(b1.add(b2).floatValue());b1 = new BigDecimal("1.0");b2 = new BigDecimal("0.42");System.out.println(b1.subtract(b2).floatValue());b1 = new BigDecimal("4.015");b2 = new BigDecimal("100");System.out.println(b1.multiply(b2).floatValue());b1 = new BigDecimal("123.3");b2 = new BigDecimal("100");System.out.println(b1.divide(b2).floatValue());}

标签: #java bigdecimal取模