一脚踩进java之基础篇27——常用API(System类,Math类)

一、System类

1.1 概念

  1)在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作。

  2)System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象。System类中的都是static方法,类名访问即可。在JDK中,有许多这样的类。

1.2 常用方法

  1) currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

  2)exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

  3)gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

  4)getProperty(String key) 用来获取指定(字符串名称)中所记录的系统属性信息

 

 

 

 

 

 

  1)arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置

1.3 System类的方法练习

  1)练习一:验证for循环打印数字1-9999所需要使用的时间(毫秒)

public static void main(String[] args) {
    long start = System.currentTimeMillis();
    for (int i=0; i<10000; i++) {
         System.out.println(i);
  }
  long end = System.currentTimeMillis();
  System.out.println("共耗时毫秒:" + (end-start) );
}

  2)练习二:将src数组中前3个元素,复制到dest数组的前3个位置上

  复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]

  复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]

public static void main(String[] args) {
  int[] src = new int[]{1,2,3,4,5};
  int[] dest = new int[]{6,7,8,9,10};
  System.arraycopy( src, 0, dest, 0, 3);
  代码运行后:两个数组中的元素发生了变化
  src数组元素[1,2,3,4,5]
  dest数组元素[1,2,3,9,10]
}

  3)练习三:循环生成100-999之间的的三位数并进行打印该数,当该数能被10整除时,结束运行的程序

public static void main(String[] args){
    Random random = new Random();
    while(true){
      int number = random.nextInt(900)+100; //0-899 + 100
      if (nmumber % 10 == 0) {
          System.exit(0);
    }
  }
}

二、Math类

2.1 概念

Math 类是包含用于执行基本数学运算的方法的数学工具类,如初等指数、对数、平方根和三角函数。
类似这样的工具类,其所有方法均为静态方法,并且一般不会创建对象。如System类

2.2 常用方法

 

  1) abs方法,结果都为正数

double d1 = Math.abs(-5); // d1的值为5
double d2 = Math.abs(5); // d2的值为5

  2)ceil方法,结果为比参数值大的最小整数的double值

double d1 = Math.ceil(3.3); //d1的值为 4.0
double d2 = Math.ceil(-3.3); //d2的值为 -3.0
double d3 = Math.ceil(5.1); // d3的值为 6.0

  3)floor方法,结果为比参数值小的最大整数的double值

double d1 = Math.floor(3.3); //d1的值为3.0
double d2 = Math.floor(-3.3); //d2的值为-4.0
double d3 = Math.floor(5.1); //d3的值为 5.0

  4)max方法,返回两个参数值中较大的值

double d1 = Math.max(3.3, 5.5); //d1的值为5.5
double d2 = Math.max(-3.3, -5.5); //d2的值为-3.3

  5)min方法,返回两个参数值中较小的值

double d1 = Math.min(3.3, 5.5); //d1的值为3.3
double d2 = Math.max(-3.3, -5.5); //d2的值为-5.5

  6)pow方法,返回第一个参数的第二个参数次幂的值

double d1 = Math.pow(2.0, 3.0); //d1的值为 8.0
double d2 = Math.pow(3.0, 3.0); //d2的值为27.0

  7)round方法,返回参数值四舍五入的结果

double d1 = Math.round(5.5); //d1的值为6.0
double d2 = Math.round(5.4); //d2的值为5.0

  8)random方法,产生一个大于等于0.0且小于1.0的double小数

double d1 = Math.random();

 

posted @ 2020-05-13 15:12  smile,你  阅读(230)  评论(0编辑  收藏  举报