6、包装类及其相关

简介: 包装类及其相关

①包装类

1、其中需要注意int对应的是Integer,char对应的Character,其他6个都是基本类型首字母大写即可。

2、字符串转成基本类型:包装类.parseInt(str);

3、基本数值转成字符串有3种方式:

(1)、基本类型直接与” ”相连接即可;34+""

(2)、调用包装类中的toString方法;Integer.toString(34);

(3)、调用String的valueOf方法;String.valueOf(34);

4、基本数值---->包装对象

(1)、Integer ii = new Integer(“4”);//构造函数中可以传递一个数字字符串

(2)、Integer iiii = Integer.valueOf(“4”);//使用包装类中的valueOf方法

包装对象---->基本数值

int num = ii .intValue();

5、自动装箱与拆箱

基本类型可以使用运算符直接进行计算,但是引用类型不可以。而包装类作为引用类型的一种却可以计算,原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换;基本类型的值赋值给一个包装类的引用,原因同样在于Java又”偷偷地”自动地进行了基本数据类型向对象的转换。

l 自动拆箱:对象转成基本数值

l 自动装箱:基本数值转成对象


②System类

System类不能手动创建对象,因为构造方法被private修饰了,阻止外界创建对象。System类中的都是static方法,类名访问即可。

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

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

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


l 将src数组中前3个元素,复制到dest数组的前3个位置上

System.arraycopy( src, 0, dest, 0, 3);


③Math类

类似这样的工具类,其所有方法均为静态方法,并且一般不会创建对象。如System类。

abs:绝对值、ceil:比参数值大的最小整数的double值,Math.ceil(3.3); //值为 4.0、floor:比参数值小的最大整数的double值,Math.floor(3.3); //值为3.0、pow:第一个参数的第二个参数次幂的值,Math.pow(2.0, 3.0); //值为 8.0、random:产生一个大于等于0.0且小于1.0的double小数,Math.random();


④Arrays类

空指针就是该位置数据为空;

数组下标越界就是操作的下标不存在;

Arrays.sort( arr );对指定数组中的元素进行排序(元素值从小到大进行排序);

String str = Arrays.toString(arr);返回指定数组元素内容的字符串形式;

Arrays.binarySearch(arr, 4); //值为2。查找给定元素值出现的位置。若没有查询到,返回位置为-1。要求该数组必须是个有序的数组。


⑤大数据运算

在Java的世界中,超过long型的整数已经不能被称为整数了,它们被封装成BigInteger对象.在BigInteger类中,实现四则运算都是通过方法来实现,并不是采用运算符。

BigInteger:加add、减subtract、乘multiply、除divide

double和float类型在运算中很容易丢失精度,造成数据的不准确,BigDecimal类可以实现浮点数据的高精度运算。

对于浮点数据的除法运算,和整数不同,可能出现无限不循环小数,因此需要对所需要的位数进行保留和选择舍入模式:

千克转成吨:

weight.divide(new BigDecimal(1000),3,RoundingMode.HALF_UP);

// 累加重量,保留10位有效数字

stoweightMap.put(“11”, divisor.divide(dividend, 10, BigDecimal.ROUND_HALF_UP).add(dividend));

ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2

ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1

BigDecimal a = new BigDecimal(1.5);

System.out.println(“down=”+a.setScale(0,BigDecimal.ROUND_HALF_DOWN)+"/tup="+a.setScale(0,BigDecimal.ROUND_HALF_UP));

结果:down=1 up=2

看这个例子就明白了!

其他参数说明:https://blog.csdn.net/daryl715/article/details/1604174/


目录
相关文章
|
Java
包装类的使用
包装类的使用
62 0
|
4月前
|
存储 安全 Java
day7:基本类型转换、包装类、自动装箱、自动拆箱
【7月更文挑战第7天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
38 3
|
6月前
|
存储 Java 编译器
包装类&认识泛型
包装类&认识泛型
|
缓存
包装类
包装类
68 0
|
存储 Java
包装类和基本数据类型
包装类和基本数据类型
|
6月前
|
Java 编译器 语音技术
包装类&简单认识泛型
包装类&简单认识泛型
|
6月前
|
存储 编译器 程序员
C++基本数据类型
C++基本数据类型
|
6月前
05 # 基本类型
05 # 基本类型
39 0
|
缓存 Java
包装类(装箱&拆箱&数据类型转换)
​ 在Java5 中添加了两个新特性,那就是自动装箱和拆箱,因为基本类型的广泛使用,但是Java 又是面向对象的语言,所以提供了包装类型的支持。
50 0
|
缓存 Java
基本数据类型包装类
基本数据类型包装类
62 0