float与double类型参数区别_8大基本数据类型及包装类,不知道这些点别说自己是大佬...

一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所以Java语言预定义了8种包装类型:

byte -> Byte

short -> Short

int -> Integer

long -> Long

float -> Float

double -> Double

char -> Character

boolean -> Boolean

例如:

Integer.toBinaryString()可得到一个整数的二进制代码

Integer.toHexString()可得到一个整数的十六进制代码

Integer.parseInt()可将一个String转换成int

Integer.toString()可将一个int转换成String

字符串和数值类型的转换

字符串 -> 数值: XXX.parseXXX(), 如Integer.parseInt()
数值 -> 字符串: toString(), String.valueOf()

java中的自动装箱与拆箱

/**

* @author YY哥哥

* java中的自动装箱与拆箱

* 简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

*/

public class TestDemo {

public static void main(String[] args) {

/**

Integer x= 128; // 装箱,相当于 Integer.valueOf(128);

int y = x; //相当于 x.intValue() 拆箱

System.out.println(y);

*/

/**

对于–128到127(默认是127)之间的值,被装箱后,会被放在内存里进行重用

但是如果超出了这个值,系统会重新new 一个对象

*/

Integer x = 200;

Integer y = 200;

/**

注意 == 与 equals的区别

== 它比较的是对象的地址

equals 比较的是对象的内容

*/

if(x==y) {

System.out.println("true");

} else {

System.out.println("false");

}

}

}

Java 会对 -128 ~ 127 的整数进行缓存,所以当定义两个变量初始化值位于 -128 ~ 127 之间时,两个变量使用了同一地址:

Integer a=123;

Integer b=123;

System.out.println(a==b); // 输出 true

System.out.println(a.equals(b)); // 输出 true

当两个 Integer 变量的数值超出 -128 ~ 127 范围时, 变量使用了不同地址:

a=1230;

b=1230;

System.out.println(a==b); // 输出 false

System.out.println(a.equals(b)); // 输出 true

Java 中 int 和 Integer 的区别

1. int 是基本数据类型,int 变量存储的是数值。Integer 是引用类型,实际是一个对象,Integer 存储的是引用对象的地址。

Integer x = new Integer(100);

Integer y = new Integer(100);

System.out.print(x == y); //false

解释:因为 new 生成的是两个对象,其内存地址不同。

2. int 和 Integer 所占内存比较:

Integer 对象会占用更多的内存。Integer 是一个对象,需要存储对象的元数据。但是 int 是一个原始类型的数据,所以占用的空间更少。

3. 非 new 生成的 Integer 变量与 new Integer() 生成的变量比较,结果为 false。

/**

* 比较非new生成的Integer变量与new生成的Integer变量

*/

public class TestDemo {

public static void main(String[] args) {

Integer i= new Integer(200);

Integer j = 200;

System.out.print(i == j);

//输出:false

}

}

解释:非 new 生成的 Integer 变量指向的是 java 常量池中的对象,而 new Integer() 生成的变量指向堆中新建的对象,两者在内存中的地址不同。所以输出为 false。

4. 两个非 new 生成的 Integer 对象进行比较,如果两个变量的值在区间 [-128,127] 之间,比较结果为 true;否则,结果为 false。

/**

* 比较两个非new生成的Integer变量

*/

public class TestDemo {

public static void main(String[] args) {

Integer x1 = 127;

Integer y1 = 127;

System.out.println(x1 == y1);//输出:true

Integer x2 = 128;

Integer y2 = 128;

System.out.println(x2 == y2);//输出:false

}

}

解释:java 在编译 Integer x1 = 127 时,会翻译成 Integer x1 = Integer.valueOf(127)。

5. Integer 变量(无论是否是 new 生成的)与 int 变量比较,只要两个变量的值是相等的,结果都为 true。

/**

* 比较Integer变量与int变量

*/

public class TestDemo {

public static void main(String[] args) {

Integer x1 = 200;

Integer x2 = new Integer(200);

int y = 200;

System.out.println(x1 == y);//输出:true

System.out.println(x2 == y);//输出:true

}

}

解释:包装类 Integer 变量在与基本数据类型 int 变量比较时,Integer 会自动拆包装为 int,然后进行比较,实际上就是两个 int 变量进行比较,值相等,所以为 true。

54621a78ee014d5768653f6b6a240c73.gif

谢谢大家关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

9-客户端集成IdentityServer

1-创建客户端的webapi项目 E:\coding\netcore\IdentityServerSample>dotnet new webapi --name IdentityCredentialApi 2-在需要启用授权的方法上增加Authorize标签 3-使用nuget工具安装 IdentityServer4.AccessTokenValidation 4-启用客户端授权, 需要配置连接…

js替换数组中字符串实例

这个是替换数组中的一个对象字符串; 直接上代码: 1 var aaa[ 2 {"name":"张珊","sex":"man"}, 3 {"name":"李斯","sex":"woman"}, 4 …

ie浏览器升级_微软呼吁用户停用IE浏览器 2020年将不再更新升级

驱动中国2019年2月10日消息 IE浏览器作为美国微软公司推出的一款网页浏览器成为许多人接触互联网初选,深受不少用户喜欢但这款流畅多年的浏览器正式遭弃用!今日微软网络安全专家在在官方Winhows IT Pro上发帖呼吁用户停止使用IE浏览器!微软网…

CentOS安装zookeeper

第一步,先去Apache下载安装包 http://mirror.bit.edu.cn/apache/zookeeper/ 第二步,上传到服务器并解压 tar -zxvf zookeeper-3.4.6 第三步,新建一个文件夹 #先改个名 mv zookeeper-3.4.6 zookeeper cd zookeeper mkdir data 第四步&#xff…

rdlc报表 矩形高固定_固定资产条码管理系统特点分析

固定资产条码管理系统的特点都有什么?固定资产是维持企业稳定健康发展的重要物质保障,若想最大化发挥固定资产的效能作用,满足生产经营管理的需求,提高应对企业内外部经营环境变化的能力,企业管理者就必须及时了解固定…

bzoj 2007 [Noi2010]海拔——最小割转最短路

题目:https://www.lydsy.com/JudgeOnline/problem.php?id2007 一个点的高度一定不是0就是1。答案一定形如一个左上角的连通块全是0的点、一个右下角的连通块全是1的点。 注意从东到西还有从南到北的边也有用!因为不一定是一个阶梯形的,还可以…

《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况。 Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检索和显示那些文档&am…

电脑入门完全自学手册_3DMAX零基础入门到精通的学习路线和教程

没有美术基础可以学建模吗?毋庸置疑,只要肯学都是可以的!那么我们今天来说说零基础学习建模要着重注意什么。最高效最快速的入门学习方式:看知识兔视频课程,跟着知识兔老师操作,听知识兔老师讲解&#xff0…

Python-UiAutomator2实现Android自动化测试

本帖转自搜狗测试公众号 【一、前言】 基于Python-UiAutomator2实现Android自动化测试,小编在Android应用的自动化性能测试中进行了实践。本篇将简单介绍python中使用adb、aapt命令的方法以及Python-UiAutomator2使用,后续文章将对环境搭建以及自动化性能…

硬件信息修改大师_零成本学习之单片机硬件开发(1)

从今天开始给大家逐步讲解单片机编程,有兴趣的小伙伴们,可以关注本课程,完全免费本人从事从2004年大学毕业开始从事开发工作,先后做过单片机开发、ucOSII开发、手机开发、android APP开发、PHP开发、微信小程序开发,目…

ionic3 自动创建启动背景splash以及图标icon

在新建的项目文件夹下的 resources下就是我们放置图标以及启动背景图片的位置了。 如果现在我们想生成自己的图片的启动背景以及图片,我们需要把resources下的 icon.png 以及splash.png 替换为我们的图片。 icon 图片最好为1024x1024像素 splash 图片最好为2732x2…

Spring容器的简单实现(IOC原理)

引言:容器是什么?什么是容器?Spring容器又是啥东西?我给Spring容器一个对象名字,为啥能给我创建一个对象呢? 一、容器是装东西的,就像你家的水缸,你吃饭的碗等等。 java中能作为容器…

epic怎么添加本地游戏_游戏日报:原神公测无法上架多家安卓渠道;Epic投资布局游戏UGC平台...

// 热点标签/// NOCITCE华为|小米|OPPO|米哈游|腾讯|莉莉丝B站|阅文集团|Epic|万国觉醒|灰烬战线FGO|怪物弹珠|勇者斗恶龙|金币大师阴阳师|和平精英|王者荣耀|三国志战略版1.华为、小米、OPPO等多家安卓渠道的《原神》版主发布公告称,因开发者要求/未与米哈游达成一…

php 出错处理,PHP 错误处理机制

在日常的项目开发过程中,总是会出现一些我们意想不到的异常错误,如果我们对此没有进行相对完善的处理,那么程序看上去也很不专业,也很可能就会成为别人攻击系统的有效信息;有些错误异常会终止脚本执行,这个…

使用structure101分析软件包的依赖关系

稳定应用程序的一个关键是结构良好的代码库。 我们知道我们应该建立尽可能多的黑匣子,因为一旦完成一个黑匣子,我们就不必再考虑它的内部了。 您只需要使用您或其他团队成员通过明确定义的界面编写的代码即可。 这使您可以专注于要添加的下一个功能。 当…

excel高级筛选怎么用_神!Excel高级筛选原来如此好用

转自EXCE不加班这两天的宏教程都提到了高级筛选这个功能,不过只是用到最基本的用法。高级筛选其实是一个很好用的功能,今天卢子来全面讲解。1.按关键词筛选高级筛选最重要的就是条件区域,资产名称四门书柜,日期2017/1/1&#xff0…

iis7.5配置php环境,iis7.5安装配置php环境 - iis

前言iis7.5是安装在win7、win8里的web服务器,win2003、win2000的web服务器使用的是iis6.0,由于win7、win8系统相比win2003、win2000有了改新革面的不同,因此对于iis7.5的配置也必需捣鼓一翻才能熟悉。不过...前言iis7.5是安装在win7、win8里的…

微信小程序 网络请求之设置合法域名

设置域名 登录微信公众号后台小程序中 设置→开发设置→服务器设置 必须设置域名,微信小程序才能进行网络通讯,不然会报错 如果设置好了合法域名,开发工具还提示不在合法域名列表中,因为在微信会有一段时间的缓存,等…

money (dp)

牛客网暑假训练第二场D题: 链接:https://www.nowcoder.com/acm/contest/140/D来源:牛客网 题目描述 White Cloud has built n stores numbered from 1 to n. White Rabbit wants to visit these stores in the order from 1 to n. The store …

php gps 坐标,php 计算gps坐标 距离

在计算机或GPS上经纬度经常用度、分、秒和度.度、分.分、秒.秒的混合方式进行表示,度、分、秒间的进 制是60进制,度.度、分.分、秒.秒的进制是100进制,换算时一定要注意。可以近似地认为每个纬度之间的距离是不变的111KM,每分间 1.85KM&#…