JAVA入门——Math类 AND Random类 AND System类 AND BigDecimal类

Math类

  • 概念:Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数
    Math 类 里面的 属性和方法,全是静态修饰,直接使用类名调用
  • 成员变量
public static final double E ——自然底数
eg:	double pi = Math.PI;
        System.out.println(pi);
public static final double PI:——圆周率
eg:	double e = Math.E;
        System.out.println(e);
  • 成员方法
public static int abs(int a)——取绝对值
eg:	double abs = Math.abs(-3.75);
        System.out.println(abs);
public static double ceil(double a) ——向上取整
eg:	double ceil = Math.ceil(3.1579);
        System.out.println(ceil);
public static double floor(double a)——向下取整
eg:	double floor = Math.floor(3.1579);
        System.out.println(floor);
public static int max(int a,int b)——获取最大值
eg:	double max = Math.max(3.14, 2.7);
        System.out.println(max);
public static int min(int a, int b)——获取最小值
eg:	double min = Math.min(3.14, 2.7);
        System.out.println(min);
public static double pow(double a,double b) ——获取a的b次幂
eg:	double pow = Math.pow(2, 10);
        System.out.println(pow);
public static int random() ——获取随机数 返回带正号的 double 值,该值大于等于 1 且小于 100。
eg:	int random = (int) (Math.random()*100);————范围:0-99
        System.out.println(random);
public static int round(float a)—— 四舍五入(看小数点后一位)
eg:	long round = Math.round(3.14);
        System.out.println(round);
public static double sqrt(double a)——获取正平方根
eg:	double sqrt = Math.sqrt(4);
        System.out.println(sqrt);

Random类

  • 概念:产生随机数如果用相同的种子创建两个 Random 实例 则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
  • 构造方法
public Random()——没有给定种子,使用的是默认的(当前系统的毫秒值)
public Random(long seed)——给定一个long类型的种子,给定以后每一次生成的随机数是相同的
eg:	Random r = new Random(0L);———————— 填入nL
  • 成员方法
public int nextInt()——没有参数 表示的随机数范围 是int类型的范围
 eg:	Random r = new Random();
 		int i = r.nextInt();
        System.out.println(i);————产生一个随机数,范围为int范围
public int nextInt(int n)——可以指定一个随机数范围
 eg:	Random r = new Random();
        int i = r.nextInt(100);
        System.out.println(i);————产生一个随机数,范围为0-99
void nextBytes(byte[] bytes) ——生成随机字节并将其置于用户提供的空的 byte 数组中。
eg:	byte[] bytes = new byte[20];
        r.nextBytes(bytes);
        System.out.println(Arrays.toString(bytes));
        ————输出:[-71, -98, -117, -4, 9, 86, 95, -117, 36, -52, 67, -10, -73, 62, -54, -2, 22, 63, -12, 44]

System类

  • 包含有用的类字段和方法,不能被实例化(不能new出来)
import java.io.InputStream;
import java.io.PrintStream;
public class demo {
    public static void main(String[] args) {
    	方法一:
        InputStream in = System.in;
        //in “标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输
        PrintStream out = System.out;
        //out “标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器
        out.println("abcde");
        方法二:
        System.out.println("abcde");   //链式编程
    }
}
  • 成员方法
public static void gc()——调用垃圾回收器
eg:	int[] ints = new int[20];  ————在堆内存开辟空间
        for (int i = 0; i < ints.length; i++) {
            System.out.println(ints[i]);
        }
        //若内存不够用
        ints = null;  ——————方法一:手动置空
        System.gc(); ——————方法二:调用垃圾回收器(回收时间不确定)
public static void exit(int status)——退出java虚拟机

0 为正常退出 非0为 异常退出

 eg:	System.exit(0); ————————退出,不运行下面的程序
public static long currentTimeMillis()——获取当前时间的毫秒值
 eg:	获取从1970 0101 0000:00到当前时间的间隔毫秒值
        long start = System.currentTimeMillis();
        for (int i = 0; i < 200000; i++) {
            System.out.println(i);
        }
        long end = System.currentTimeMillis();
        System.out.println("耗时:"+(end-start)+"毫秒");

BigDecimal类

  • 概念:为了精确的表示,计算小数 Java提供了BigDecimal类
  • 构造方法
public BigDecimal(String val)
  • 成员方法
public BigDecimal add(BigDecimal augend)——加
 eg:	BigDecimal bd1 = new BigDecimal(9.141596);
        BigDecimal bd2 = new BigDecimal(6.256478);
        BigDecimal add = bd1.add(bd2);
        System.out.println(add);————输出:15.39807400000000026096813598996959626674652099609375
public BigDecimal subtract(BigDecimal subtrahend)——减
 eg:	BigDecimal bd1 = new BigDecimal(9.141596);
        BigDecimal bd2 = new BigDecimal(6.256478);
        BigDecimal subtract = bd1.subtract(bd2);
        System.out.println(subtract);————输出:2.88511799999999940524730845936574041843414306640625
public BigDecimal multiply(BigDecimal multiplicand)——乘
 eg:	BigDecimal bd1 = new BigDecimal(9.141596);
        BigDecimal bd2 = new BigDecimal(6.256478);
        BigDecimal multiply = bd1.multiply(bd2);
        System.out.println(multiply);————输出:57.1941942588880028671691827639732959938683725950761308170870733658119888787041418254375457763671875
public BigDecimal divide(BigDecimal divisor)——除法
eg:	BigDecimal bd3 = new BigDecimal(9);
        BigDecimal bd4 = new BigDecimal(3);
        BigDecimal divide = bd3.divide(bd4);
        System.out.println(divide);————输出:3
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)——scale 小数点后面保留几位

roundingMode 取舍模式 比如四舍五入

eg:	BigDecimal bd1 = new BigDecimal(9.141596);
        BigDecimal bd2 = new BigDecimal(6.256478);
        BigDecimal divide1 = bd1.divide(bd2, 30,BigDecimal.ROUND_CEILING);
        System.out.println(divide1);————输出:1.461140916662697320751925452620

你可能感兴趣的:(JavaSE,java,javase,类)