目      录

1.Math类

Math类中常见的静态常量和静态方法:

2.Random类

产生随机数可用相同的种子:

3.System类

 System 类包含一些有用的类字段和方法,它不能被实例化:

 4.BigDecimal类

BigDecimal类中的常用的方法:


1.Math类

Math 类包含用于执行基本数***算的方法,如初等指数、对数、平方根和三角函数等.

Math类中常见的静态常量和静态方法:

  • public static final double E ;                         自然底数
  • public static final double PI;                         圆周率
  • Math.abs(int a);                                           取a的绝对值
  • Math.ceil(double a);                                    a向上取整
  • Math.floorl(double a);                                  a向下取整
  • Math.max( int a, int b);                                获取最大值
  • Math.min(int a, int b);                                  获取最小值
  • Math.pow(double a, double b);                   获取a的b次幂
  • Math.random ();                                          获取随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0.区间在[0,1)
  • Math.round( float a);                                   四舍五入
  • Math.sqrt(double a);                                   获取正平方根
public class MathTest {
    public static void main(String[] args) {
     
       //E :自然底数   PI:圆周率
        double e=Math.E;
        double pi = Math.PI;
        System.out.println(e);           //2.718281828459045
        System.out.println(pi);          //3.141592653589793

        //取绝对值
        System.out.println(Math.abs(-10));    //10
        //向上取整    向下取整
        int ceil = (int) Math.ceil(3.14);
        int floor = (int) Math.floor(3.14);
        System.out.println(ceil);             //4
        System.out.println(floor);            //3

        //获取最小值
        double min = Math.min(60, 3.5);
        System.out.println(min);              //3.5
        //获取三个数中的最大值
        int max = Math.max(Math.max(5, 90), 500);
        System.out.println(max);              //500
        //获取2的4次幂
        System.out.println(Math.pow(2, 4));   //16.0
        //四舍五入
        System.out.println(Math.round(3.69)); //4
        //获取正平方根
        System.out.println(Math.sqrt(4));     //2.0

        //获取立方根
        System.out.println(Math.pow(8, 1 / 3.0));     //2.0

    }
}

2.Random类

产生随机数可用相同的种子:

Random类用于产生随机数如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列.一般生成随机数需要不一样的,所以一般不会使用到种子!

random.nextInt(); / random.nextLong(); / random.nextDouble(); / random.nextBoolean();等等,可以生成任意类型的随机数.

public class Test {
    public static void main(String[] args) {
      
        Random random = new Random();
        for (int i = 0; i < 10; i++) {
            //生成随机整数 范围自己指定。
            int num = random.nextInt(10); //0-9
            System.out.println("num:"+num);
            //生成10个1-9之间的随机数,这个时候没重新运行就会生成的新一轮的随机数
        }


        /* 创建一个新的随机数生成器。
        Random( long seed)
        使用单个 long 种子创建一个新的随机数生成器.*/
            Random random2 = new Random(10L);
            for (int i = 0; i < 10; i++) {
            int num = random2.nextInt(10);
            System.out.println("num:"+num);
            //生成10个1-9之间的随机数,这个时候不管运行多少次都是生成的同一轮的随机数
        }
        }
    }

3.System类

 System 类包含一些有用的类字段和方法,它不能被实例化:

  • in     (public static final InputStream in)           “标准”输入流.此流已打开并准备提供输入数据.通常,此流对应于键盘输入.例:Scanner scanner = new Scanner(in);
  • out   (public static final PrintStream out)         “标准”输出流.此流已打开并准备接受输出数据.通常,此流对应于显示器输出.例:System.out.println(123);(这部分深层次的io流什么的等后期学习了再做补充!)
  • System.exit(0);                             退出JVM 0 是正常退出,非0是强制退出,退出之后,程序不再继续执行! 
  • System.currentTimeMillis();       获取当前系统的毫秒值(获取的是 1970-01-01 00:00:00----到现在所间隔的毫秒值)一般可用作统计一个程序运行会消耗多少毫秒.
  • System.gc();                                 运行垃圾回收器.(对象用完后置为null 有利于垃圾回收器的及早回收)
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner;

public class SystemTest {
    public static void main(String[] args) {
       
        InputStream in = System.in;
        Scanner scanner = new Scanner(in);
        PrintStream out = System.out;
        out.println("abc");                   //abc
        System.out.println(200);              //200

        //1970-01-01 00:00:00----到现在所间隔的毫秒值
        long timeMillis = System.currentTimeMillis();
        System.out.println(timeMillis);       //1651723110743
        //统计一个程序运行会消耗多少毫秒
        long start = System.currentTimeMillis();
        for (int i = 0; i < 5000; i++) {
            System.out.println(i);
        }
        long end = System.currentTimeMillis();
        System.out.println("耗时:" + (end - start) + "毫秒");     //耗时:39毫秒

        //运行垃圾回收器,一般手动运行,不一定就可以出发垃圾回收
        System.gc();
    }
}
public class SystemexitTest {
    public static void main(String[] args) {

        System.out.println("abc");
        System.out.println("abc");

        //退出JVM 0 是正常退出,非0是强制退出
        //System.exit(0);退出之后,程序不再继续执行!

        for (int i = 0; i < 100; i++) {
            if (i == 20) {
                System.exit(0);
            }
        }

        //这后面的就不会再继续执行了!
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");
        System.out.println("abc");

        //结果:abc
        //    abc

    }
}

 4.BigDecimal类

如果需要更高精度的要求,double就不满足了.BigDecimal 这个类可以满足我们对精度要求.一般在银行金融方法需要较高的精度.就会用到这个类.

BigDecimal类中的常用的方法:

  • add (BigDecimal augend)                           加法
  • subtract (BigDecimal subtrahend)            减法
  • multiply (BigDecimal multiplicand)           乘法
  • divide (BigDecimal divisor)                        除法
  • divide (BigDecimal divisor,int scale, int roundingMode)               scale 小数点后面保留几位小数
  • BigDecimal.ROUND_HALF_UP             向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。  
import java.math.BigDecimal;

public class BigDecimalTest {
    public static void main(String[] args) {

        BigDecimal a = new BigDecimal("3.25585858585474747474");
        BigDecimal b = new BigDecimal("3.2558585858547474747499999");
        BigDecimal multiply = a.multiply(b);   //乘
        String s = multiply.toString();
        System.out.println(s);         //10.600615131084076033041750791647095827340252526


        BigDecimal c = new BigDecimal("6");
        BigDecimal d = new BigDecimal("3");
        //能整除
        BigDecimal divide = c.divide(d);
        System.out.println(divide);             //2

        //不能整除
        BigDecimal e = new BigDecimal("10");
        BigDecimal f = new BigDecimal("3");
        //ROUND_HALF_UP,向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
        BigDecimal divide2 = e.divide(f, 3, BigDecimal.ROUND_HALF_UP);
        System.out.println(divide2);              //3.333
    }
}

(小编也在努力学习更多哟!以后再慢慢分享的啦!)

希望对友友们有所帮助!!!!