文章目录
System类
- System类包含几个有用的类字段和方法。它不能被实例化。
系统类提供的工具包括标准输入、标准输出和错误输出流;访问外部定义的属性和环境变量;加载文件和库的方法;以及快速复制数组一部分的实用方法。 - System类代表系统,系统级的很多属性和控制方法都放在该类的内部。
- 该类位于java.lang包
- 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类
1.基本字段(field)
err
“标准”错误输出流。此流已打开并准备接受输出数据。
通常,此流对应于显示输出或由主机环境或用户指定的另一个输出目标。按照惯例,此输出流用于显示错误消息或其他应立即引起用户注意的信息,即使主输出流(变量out的值)已重定向到通常不是连续的监视。
in
“标准”输入流。此流已打开并准备好提供输入数据。通常,此流对应于键盘输入或主机环境或用户指定的另一个输入源。
out
“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示输出或由主机环境或用户指定的另一个输出目标。
对于简单的独立Java应用程序,编写输出数据行的一种典型方式是:
System.out.println(data);
2. 常用方法(method)
arraycopy
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
参数: src-源数组。
srcpos—源数组中的起始位置。
dest-目标数组。
destpos—目标数据中的起始位置。
length—要复制的数组元素数。
其实就是System.arraycopy(a,b,c,d,e);
参数从左到右依次是原数组,原数组中被复制的起始位置,目标数组,目标数组的起始位置,复制到目标数组的结束位置(长度、数目)。
从指定的源数组(从指定位置开始)将数组复制到目标数组的指定位置。数组组件的子序列从src引用的源数组复制到dest引用的目标数组。复制的组件数等于length参数。源数组中srcpos到srcpos+length-1位置的组件分别复制到目标数组的destpos到destpos+length-1位置。
1.如果dest为空,则抛出一个nullpointerexception。
2.如果src为空,则抛出一个nullpointerexception,并且不修改目标数组。
- 会引发ArrayStoreException的情况,并且不会修改目标:
src参数引用的对象不是数组。
dest参数引用的对象不是数组。
src参数和dest参数引用其组件类型为不同基元类型的数组。
src参数引用具有基元组件类型的数组,dest参数引用具有引用组件类型的数组。
src参数引用具有引用组件类型的数组,dest参数引用具有基元组件类型的数组。 - 将引发IndexOutboundsException的情况,并且不会修改目标:
srcpos参数为负。
destpos参数为负。
长度参数为负。
srcpos+length大于源数组的长度src.length。
destpos+length大于dest.length,即目标数组的长度。
currentTimeMillis
public static long currentTimeMillis()
返回当前时间(毫秒)。注意,虽然返回值的时间单位是毫秒,但该值的粒度取决于底层操作系统,并且可能更大。例如,许多操作系统以几十毫秒为单位测量时间。
gc
public static void gc()
运行垃圾收集器。
调用GC方法表明Java虚拟机花费精力去回收未使用的对象,以便使它们当前占据的内存能够快速重用。当控件从方法调用返回时,Java虚拟机尽最大努力从所有丢弃的对象中回收空间。
exit
public static void exit(int status)
终止当前运行的Java虚拟机。参数用作状态代码;按照惯例,非零状态代码表示异常终止。
此方法在类运行时调用exit方法。此方法从不正常返回。
如果status是非零参数,那么表示是非正常退出。
- System.exit(0)是将你的整个虚拟机里的内容都停掉了,而dispose()只是关闭这个窗口,但是并没有停止整个application 。exit() ,无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
- System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
- System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层
这里附上原文链接:https://blog.csdn.net/maihilton/article/details/41541707
Math类
math类包含执行基本数值运算的方法,如初等指数、对数、平方根和三角函数。 给我的感觉是很实用,很清晰。
与类StrictMath的一些数值方法不同,类Math的所有等价函数的实现都没有定义为返回位对位相同的结果。这种放宽允许在不需要严格再现性的情况下更好地执行实现。
1.基本字段(filed)
E
public static final double E
比任何其他值都更接近自然对数的底e的double类型数据。
PI
public static final double PI
比其他任何一个都更接近π的double类型数据
2.常用方法(method)
sin
public static double sin(double a)
返回角度的三角正弦。
特殊情况:如果参数是NaN或无穷大,则结果是NaN。
如果参数为零,则结果为零,其符号与参数相同。
另外,类似的,cos、tan、还有atan(返回值的反正切值)、acos(反余弦)、asin(反正弦)
exp
public static double exp(double a)
返回欧拉数e的乘幂。
特殊情况:
如果参数是NaN,则结果是NaN。
如果参数为正无穷大,则结果为正无穷大。
如果参数为负无穷大,则结果为正零。
log
public static double log(double a)
返回双精度值的自然对数(以e为底)。
特殊情况:
如果参数为NaN或小于零,则结果为NaN。
如果参数为正无穷大,则结果为正无穷大。
如果参数为正零或负零,则结果为负无穷大。
log10
public static double log10(double a)
返回双精度值的以10为底的对数。特殊情况:
如果参数为NaN或小于零,则结果为NaN。
如果参数为正无穷大,则结果为正无穷大。
如果参数为正零或负零,则结果为负无穷大。
如果整数n的参数等于10n,则结果为n。
sqrt
public static double sqrt(double a)
返回正确舍入的双精度值的正平方根。特殊情况:
如果参数为NaN或小于零,则结果为NaN。
如果参数为正无穷大,则结果为正无穷大。
如果参数为正零或负零,则结果与参数相同。
crbt
public static double crbt(double a)
返回双精度值的立方根。
其他
abs:求绝对值
ceil:返回大于或等于参数且等于数学整数的最小(最接近负无穷大)双精度值。比如-11.3.会返回-11
floor:返回小于或等于参数且等于数学整数的最大(最接近正无穷大)双精度值。比如11.3会返回11
pow:public static double pow(double a,double b);
返回将第一个参数的值提升为第二个参数的幂。即a的b次方
很多都是和其他语言一样。
拿一些出来测试:
class TestNumber{
public static void main(String[] args){
System.out.println(Math.ceil(5.3));
System.out.println(Math.floor(3.5));
System.out.println(Math.round(2.8));
System.out.println(Math.pow(2,3));
}
}
Integer类
integer类在对象中包装原语类型int的值。整数类型的对象包含一个类型为int的字段。
此外,该类还提供了几种将int转换为字符串和字符串转换为int的方法,以及处理int时有用的其他常量和方法。
1.基本字段(field)
BYTES
public static final int BYTES
以二进制补码形式表示整型值的字节数。
MAX_VALUE
public static final int MAX_VALUE
一个常数,保持一个int可以有的最大值,2的31次方减一
MIN_VALUE
public static final int MIN_VALUE
一个常数,保持int可以有的最小值,负2的31次方
SIZE
public static final int SIZE
用二进制补码形式表示整型值的位数。
TYPE
public static final Class<Integer> TYPE
表示原始数据类型int的类实例。
2.常用方法(method)
toString
public static String toString(int i,
int radix)
以第二个参数指定的基数返回第一个参数的字符串表示形式。
如果基数小于character.min_基数或大于character.max_基数,则改用基数10。
如果第一个参数为负,则结果的第一个元素是ascii减号字符“-”(’\u002d’)。如果第一个参数不是负数,则结果中不会出现符号字符。
valueOf
public static Integer valueOf(int i)
返回表示指定int值的整数实例。如果不需要新的整数实例,则通常应优先使用此方法而不是构造函数integer(int),因为通过缓存频繁请求的值,此方法可能会显著提高空间和时间性能。此方法将始终缓存-128到127(含)范围内的值,并可能缓存此范围之外的其他值。
compare
public static int compare(int x,
int y)
若x==y,返回0
若x大于y,返回一大于0的数
若x小于y,返回一小于0的数
sum
public static int sum(int a,
int b)
返回a加b
and so on
学习总结:
现在主要是学会查看jdk API(SE8),有很多类,每个类下面又有很多方法。API是全英文版的,边看边翻译,还是蛮累的。感觉其中一些方法不会常用吧,就现阶段的我来说。
(有错误请指正哦)