欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

系统类和数学操作类

程序员文章站 2022-03-14 09:06:30
...

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

系统类和数学操作类

arraycopy(Object src, int srcPos, Object dest, int destPos, int length);内存数组拷贝方法:参数1是要拷贝的数组对象(源数组);参数2是从源数组的哪个下标位置开始拷贝;参数3是拷贝到那个数组对象(目标数组);参数4是从目标数组的哪个位置开始放拷贝的数据;参数5是拷贝长度,拷贝多少个元素。

内存数组拷贝比循环拷贝要快一半,数据量越大,越明显。

gc( );促进垃圾回收方法,System.gc();

System.getenv() 拿出全部环境变量信息 集合对象,里面存放着所有的环境变量信息:

系统类和数学操作类
            
    
    博客分类: java  

System.getProperties() 得到所有的系统参数:

系统类和数学操作类
            
    
    博客分类: java  

System.loadLibrary("") 加载第三方库。

System.getLogger("aaa") (jdk1.9 新功能 日志输出):
System.Logger log=System.getLogger("aaa");
log.log(System.Logger.Level.INFO,"asdasdasdasd");
log.log(System.Logger.Level.WARNING,"asdasdasdasd");
log.log(System.Logger.Level.ERROR,"asdasdasdasd");
System.exit(0); 关闭虚拟机
Runtime.getRuntime().exec();可以执行dos命令:

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

在运算小数点数值时,若按照一般的加减乘除方式操作会丢失精度且运算结果不正确:
当f1为int类型时,初始值为0,相加100次0.1,结果居然为0,而我们想要的结果是10。

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

当f1为double类型,初始值为0时,相加100次0.1的结果是9.99999999999998,这显然不是我们想要的结果,理论结果是10,运算后精度丢失了:

系统类和数学操作类
            
    
    博客分类: java  

如何避免这种误差呢?

系统类和数学操作类
            
    
    博客分类: java  

运算的时候想保留几位数就乘于几位数,还原时再除以几位数就行了。想保留10位就乘于10,还原时再除以10转换成double类型就不会丢失精度了。

系统类和数学操作类
            
    
    博客分类: java  

这种计算就是把小数变成int或者是long类型, 计算完毕后可以还原float或者double类型(速度快,不消耗内存)。

也可以用BigDecimal类计算:

系统类和数学操作类
            
    
    博客分类: java  

BigDecimal构造器有两种初始化参数:数值和字符串。

系统类和数学操作类
            
    
    博客分类: java  

结果:88888888888888888888888

Math类的round()方法把float和double类型的小数点四舍五入:

系统类和数学操作类
            
    
    博客分类: java  

运行结果:
15
16

系统类和数学操作类
            
    
    博客分类: java  

去掉小数点:运行结果为15.0

JEP数学运算类在JDK9才有:

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java  

系统类和数学操作类
            
    
    博客分类: java