Java开发——18.常用类(包装类,拆箱和装箱;BigInteger+BigDecimal)

简介: Java中只有两种数据类型:基本数据类型和引用数据类型。

Java中只有两种数据类型:基本数据类型和引用数据类型。


包装类:

基本数据类型是不能new对象的,在使用的是时候,只用他们的数值;使用基本数据类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,所以引申出来了包装类,在创建对象的时候使用。


image.png


自动装箱和自动拆箱:

自动装箱:基本数据类型转换为对应的包装类;

自动拆箱:对应的包装类转换为基本数据类型。


在Java中,基本数据类型和其对应的包装类可以实现自动装箱和自动拆箱的效果;


publicstaticvoidmain(String[] args) {
Integerin=123;
System.out.println(in);
intnum=in;
System.out.println(num);
    }


手动装箱和手动拆箱:

手动装箱:基本数据类型通过valueOf(基本数据类型)方法转换为对应的包装类;

手动拆箱:对应的包装类通过xxxValue()方法转换为基本数据类型。


publicstaticvoidmain(String[] args) {
//方法一:使用valueOf(基本数据类型)方法手动装箱Integerinteger=Integer.valueOf(123);
//手动拆箱       inti=integer.intValue();
//方法二:使用有参构造方法直接手动装箱Integerinteger2=newInteger(123456);
//把integer类型的对象,拆箱成为其他的基本数据类型doublev=integer2.doubleValue();
//传入的数字也可以是字符串的形式,但是要注意,不能出现空格等中文字符        Doubledl=Double.valueOf("1245656.9");
System.out.println(integer3);//1245656.9}


常用方法:

image.png


注意事项:

刚学习过手动装箱和手动拆箱,相信已经了解过了其中常用的方法了,但是还是要注意学习它的构造方法;里面也有许多对数值进行操作的方法,像进制转换、比较大小...


BigInteger:包装类型的操作类,类似于基本数据类型的算数运算的Math类中的方法,BigInteger类中也提供了相关操作;

不可变的任意精度整数。

所有操作的行为就好像BigIntegers以二进制补码表示(如Java的原始整数类型)表示。 BigInteger提供了所有Java的原始整数运算符和java.lang.Math中所有相关方法的类比。 此外,BigInteger还提供了模数运算,GCD计算,原始测试,初级生成,位操作以及其他一些其他操作的操作。

API


BigDecimal:包装类型的操作类,主要针对浮点类型;

不变的,任意精度的带符号的十进制数字。

BigDecimal类提供了算术,缩放操作,舍入,比较,散列和格式转换的操作。

API
相关文章
|
5天前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
3天前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
5天前
|
存储 缓存 Java
Java零基础教学(13):自动拆箱与自动装箱详解
【8月更文挑战第13天】Java零基础教学篇,手把手实践教学!
6 1
Java零基础教学(13):自动拆箱与自动装箱详解
|
1天前
|
数据采集 供应链 JavaScript
分享基于Java开发的Java毕业设计实战项目题目
这篇文章分享了67套基于Java开发的毕业设计实战项目题目,覆盖了互联网、企业管理、电子政务、Java基础项目、ERP系统、校园相关、医疗以及其他细分行业等多个领域,并推荐了使用IDEA、Vue和Springboot的技术栈。
|
2天前
|
存储 Java 编译器
Java零基础(17) - 自动拆箱与自动装箱
【8月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
11 3
|
1天前
|
分布式计算 Java API
Java 8带来了流处理与函数式编程等新特性,极大提升了开发效率
Java 8带来了流处理与函数式编程等新特性,极大提升了开发效率。流处理采用声明式编程模型,通过filter、map等操作简化数据集处理,提高代码可读性。Lambda表达式支持轻量级函数定义,配合Predicate、Function等接口,使函数式编程无缝融入Java。此外,Optional类及新日期时间API等增强功能,让开发者能更优雅地处理潜在错误,编写出更健壮的应用程序。
6 1
|
6天前
|
Java 编译器 测试技术
Java零基础(13) - 自动拆箱
【8月更文挑战第13天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
15 2
|
6天前
|
Java 编译器 测试技术
Java零基础教学(12):自动拆箱
【8月更文挑战第12天】Java零基础教学篇,手把手实践教学!
14 2
|
6天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
1天前
|
人工智能 网络协议 Java
23.12月中旬 上海寻序人工智能科技-上海嘉定-Java开发实习生-薪资150-230/d 面经
关于上海寻序人工智能科技有限公司Java开发实习生岗位的面试经验分享,涵盖了技术问题如对象存储MinIO、ArrayList扩容、Object类方法、hashCode和equals方法、处理哈希冲突、JVM垃圾回收器、GC算法、网络协议、邮件协议、HTTP请求方法、Linux和Docker命令、Dockerfile制作等。
3 0