API帮助文档(一)

179 阅读3分钟

一.Math

API帮助文档里面的Math

在API帮助文档里面:

image.png Math一些常用的方法:

image.png 一:abs();

image.png 控制台结果

image.png abs();存在的bug

我们知道int类型可以储存数据的范围是:  -2147483648-----2147483647;

image.png

image.png 如果要处理数据的过大时,我们可以使用absExact();

image.png

image.png 我们可以发现java虚拟机直接报错。(在JDK15以上才有这个方法)。

二:ceil();  floor();和round();

image.png

image.png 三:max( , );和min( , );

image.png

image.png 四:pow( , );

image.png

image.png 五:random();

image.png

image.png

总结:

1.Math是一个帮助我们进行数学运算的工具类

2.里面的方法都是静态的

3.需要时自行查阅,没有必要死记硬背。

两个小练习:

一.判断一个数是否为质数:

原来的方法:

image.png 直接暴力枚举,但是会随着数量的增加而加大运算量。

因为一个整数的两个因子一定满足

image.png 所以我们进行改进,可以大大提高运行效率。

image.png

二:水仙花数

水仙花数一定是三位数。

每一位的三次方相加等于其本身例如153=1^3+5^3+3^3

打印出所有的水仙花数:

image.png

image.png

二.System

System也是一个工具类,提供了与系统有关的方法。

System的常用方法:

image.png

一:exit(int status);

方法的形参表示状态码:

0:虚拟机正常停止

非0:虚拟机非正常停止

image.png

image.png

二:currentTimeMillis();

返回long类型,代表着当前日期和时间原点的差值(单位是毫秒)。

计算机存在时间原点 1970年1月1日 00.00.00。

由于我们是东八区所以实际上是1970年1月1日 00.08.00

image.png

image.png 我们可以用这个方法来得到一段代码运行需要的时间

image.png

image.png 可以看到暴力枚举使用了13毫秒。

image.png

image.png 我们使用改进之后的方法只需要4毫秒

三:arraycopy();

此方法可以进行数组的拷贝

arraycopy(数组源,数组源起始索引,目的数组,目的数组起始索引,要拷贝的长度);

image.png

image.png 注意:

1.如果数据源数组和目的地数组都是基本数据类型,需要让两者类型保持一致。

2.注意数组越界问题。

三:Runtime

表示当前虚拟机的运行环境。

不是静态的。

Runtime的常用方法

image.png

一:getRuntime();

 因为一台电脑只有一个环境,所以都只有一个对象。

image.png

image.png 我们发现r1和r2的地址值相同。也就是说两次获取的是同一个对象

二:exit();

exit();和System中的exit一样,都可以结束虚拟机的运行

其实System的底层源码就是

Runtime.getRuntime().exit();

image.png

image.png 三:availableProcessors();

image.png

image.png 我这里就是32线程。

三:maxMemory();

Java虚拟机可以从系统中获得的总内存大小。(单位byte)

image.png

image.png

四:totalMemory();和freeMemory();

totalMemory();        Java虚拟机已经在内存中获得的内存大小(单位byte)

freeMemory();         Java虚拟机剩余可获取内存的大小(单位byte)

image.png

image.png 五.exec();

可以运行cmd命令

image.png 注意

image.png 直接书写会报错,我们点击波浪线ALT+ENTER一起按下去

image.png 选第一个,如果没有第一个,就选第二个。