当前位置:首页 > 快讯 > 正文内容

基本数据类型和引用类型的区别(基本数据类型和引用类型的数据存储区别)

2022-12-03 14:56:10快讯416

你们好,最近小活发现有诸多的小伙伴们对于基本数据类型转换,基本数据类型这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

基本数据类型和引用类型的区别(基本数据类型和引用类型的数据存储区别)

1、 1.数据类型:

2、 在Java源代码中,每个变量都必须声明一个类型。Java数据类型可以分为两类:基本类型和引用类型。基本类型包括布尔类型和数值类型。数值型分为整型和浮点型。整数有五种类型:byte short int long char(char本质上是一种特殊的int)。浮点类型有浮点型和双精度型。梳理如下关系:

3、 2.基本类型:

4、 Java为基本类型提供了语言级的支持,即已经在Java中预定义好了,用相应的保留关键字来表示。基本类型是单个值,而不是复杂对象。基本类型不是面向对象的,主要是效率原因,但它也提供了基本类型的对象版本,即基本类型的包装器。您可以直接使用这些基本类型,也可以使用基本类型来构造数组或其他自定义类型。类型基本上有一个明确的值域和数学行为。

5、 2.1整数

6、 有整数字节short int long char,分别用8、16、32、64、16位表示。有些地方可能不把char归入integer的范畴,但本质上char type是int的子集。整数的宽度不应该看作是整数占用的内存空间,而应该理解为定义为整数的变量或表达式的行为。JVM可以随意使用任何大小的内存空间,只要类型的行为符合规范。Byte short int long都是有符号的,用二进制补码(two's-complement)表示。Char用16位表示,无符号,表示UTF-16编码集。

7、 2.1.1字节

8、 Byte用1字节8位表示,是最小的整数类型。主要用来节省内存空间。当操作来自网络、文件或其他IO的数据流时,字节类型特别有用。取值范围为[-128,127]。byte的默认值是(byte)0。如果我们试图给一个字节型变量赋一个取值范围之外的值,就会出现编译错误,比如byte b=128;此语句无法编译。一个有趣的问题,如果我们有一个方法:public void test(byte b)。试图这样调用这个方法是错误的:test(0);编译器会报错,类型不兼容!我们记得字节b=0;一点问题都没有。为什么这里出了问题?

9、 这就涉及到一个叫字面的问题,就是表面的价值。例如,整数文字在源代码中是5,0,-200。如果整数子面后跟L或L,则文字值是长类型。例如,1000L表示长类型值。如果不加l或l,则为int类型。基本类型中的Byte short int long可以由不带L的整型文字创建(姑且称之为int文字),比如byte b=100;短s=5;对于long类型,如果大小超过了int可以表示的范围(32位),就必须用l结尾表示,整数文字可以用不同的方式表示:十六进制[0X或0x],十进制[nothing],八进制[0]二进制[0B或0b]等。二进制文字是仅在JDK 7之后可用的函数。在赋值操作中,可以将int的文字值赋给byte short int long,Java语言会自动处理这个过程。如果方法调用不同,调用test(0)时,它能匹配的方法是test(int),当然不能匹配test(byte)方法。至于Java为什么不支持赋值操作之类的方法调用,就不得而知了。注意包装器和原始类型之间的自动转换(自动装箱,自动拆箱)。字节d=' A也是合法的,字符的文字值可以自动转换成16位整数。

10、 对byte类型进行数学运算时,会自动提升为int类型。如果表达式中有double或float类型,它也会被自动提升。所以下面的代码是错误的:

11、 1.bytes2=' a

12、 2.bytesum=s1 s2//should cast by(byte)/span/span/span

13、 简短

14、 用16表示,取值范围为[-2 ^ 15,2 ^ 15-1]。Short可能是最不常用的类型。只要不超出范围(16位),就可以通过整数或字符来赋值。当short类型参与运算时,它也被提升为int或更高的类型。(顺序是byte short int long float double)。

15、 国际

16、 3位,[-2 ^ 31,2 ^ 31-1]。由有符号二进制补码表示的整数。常用词控制循环。注意byte和short在运算中会提升到int类型或者更高。Java 8以后,可以用int类型表示无符号32位整数[0,2 31-1]。

17、 2.1.4长

18、 6位,[-2 63,2 63-1,默认值为0L]。当你需要计算一个非常大的数时,如果int不足以容纳大小,可以使用long类型。如果long不够,可以使用BigInteger类。

19、 2.1.5字符

20、 1位,[0,65535],[0,2 16-1],从' \u0000 '到' \ uffff '。无符号,默认值为' \u0000 '。Java Unicode字符集用来表示字符。Unicode是一个完全国际化的字符集,可以表示所有人类语言中的字符。Unicode需要16位宽,所以Java中的char类型也是用16位表示的。该赋值可能如下所示:

21、 char ch1=88

22、 char ch2=' A

23、 ASCII字符集占用Unicode的前127个值。之所以把char归为整数,是因为Java为char提供了算术运算支持,比如ch2然后ch2变成Y.当char执行加减乘除时,也转换为int类型,必须显式转换回来。

24、 2.2浮点型

25、 它包含单精度浮点和双精度浮点,分别用32位和64位表示,符合IEEE 754规范。

26、 浮动

27、 使用32位表示,对应单精度浮点数,比double运行速度更快,占用内存更少,但是当值很大或者很小时会变得不准确。当精度不高时,可以使用float类型声明一个赋值示例:

28、 1.f1=10L

29、 2.f1=10.0f

30、 3.//f1=10.0;默认值为double/span/span/span。

31、 可以给float类型赋byte,short,int,long,char,java会自动完成转换。

32、 双份

33、 64是指浮点子面赋给变量时,如果在文字值后没有用F或F显示,默认为double。java.lang.Math中的函数是双精度类型的。

34、 如果double和float都不能达到期望的精度,可以使用BigDecimal类。

35、 2.3布尔类型

36、 Boolean只有两个值,true和false,默认值为false。布尔与是否为0无关,但可以根据所需的逻辑进行转换。很多地方都需要布尔类型。

以上就是基本数据类型这篇文章的一些介绍,希望能帮助到大家。

扫描二维码推送至手机访问。

版权声明:文章内容摘自网络,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。谢谢!

本文链接:http://xixia168.cn/n/kx/234954.html

分享给朋友:

“基本数据类型和引用类型的区别(基本数据类型和引用类型的数据存储区别)” 的相关文章

动易论坛模板(动易首页模板改了后主页没有显示)

动易论坛模板(动易首页模板改了后主页没有显示)

东艺论坛(广东东艺软件有限公司)十六画先生2016-11-05 15:28:18 本教程以服务器为例。 准备工具: 学习下载地址:http://www.phpstudy.net/phpstudy/phpstudy.zip 源代码:网上有很多。新手练的话,我就随便提供一套。因为我们的网站是由动态简易论...

信鸽图片制作手机软件下载(信鸽app软件下载手机)

信鸽图片制作手机软件下载(信鸽app软件下载手机)

信鸽图片(正宗詹森|6张信鸽图片)原鸽趣闻2017-12-16 08:05:00 《鸽趣》每天都给大家带来一些关于养鸽和赛鸽的常识,以及鸽子世界里的趣事。点击关注,每天都会免费为您带来实用的养鸽文章。大家一起讨论,一起进步,一起学习。有问题可以留言回答。 很多年轻的鸽友都是第一次买鸽子。很难分辨什么...

2030年前癌症疫苗或将问世

2030年前癌症疫苗或将问世

(观察者网讯)据《卫报》10月16日消息,德国生物技术公司BioNTech的创始人在接受BBC采访时称,针对癌症的疫苗可能2030年前上市。《卫报》截图BioNTech是欧洲最大生物技术独角兽,与美国辉瑞合作研发生产了mRNA新冠疫苗。据报道,该公司联合创始人乌古尔·萨欣(Uur ahin)和奥兹朗...

流产以后需要吃什么(刚流产完可以吃什么)

流产以后需要吃什么(刚流产完可以吃什么)

流产后吃什么(流产后吃什么?) 流产一般对身体伤害很大,因为手术后人不仅会受到一些器质性的伤害,还会被一些身体基础破坏,主要是容易造成气血两虚。对于女性来说,气血两虚本身就存在,手术后症状会加重,这时候就要补了。那么,流产后应该吃什么呢?手术后有哪些注意事项?让我们来看看吧。 流产后的饮食 1.首先...

原始天尊的徒弟(原始天尊的徒弟胜了为什么封神榜不是有名之人)

原始天尊的徒弟(原始天尊的徒弟胜了为什么封神榜不是有名之人)

原佛弟子(初佛弟子及孙辈) 元天尊、太上老君、田童教主、道长(后改名如来)、道士准提(大概是菩提菩提菩萨)都是洪钧菩萨的弟子。元始天尊是其他弟子中最有名的弟子和弟子。以下是详细分析。 第一佛十二弟子:广程子、红精、丁于真人、太乙真人、黄龙真人、文殊广发天尊、普贤真人、慈水道人、灵宝驱魔人、慧六孙、道...

糖基化修饰(在rER中发生的N-连接的糖基化修饰)

糖基化修饰(在rER中发生的N-连接的糖基化修饰)

糖基化修饰(蛋白质的糖基化修饰) O-糖基化也是一种常见的翻译后修饰,是肽链中氨基酸侧链的糖基和羟基生成O-糖苷键的糖基化方式。可用于键合的羟基主要是丝氨酸和苏氨酸的醇羟基、羟赖氨酸的羟基(如胶原蛋白)、酪氨酸的酚羟基(如糖原)。 胶原蛋白中的羟赖氨酸可以通过糖基化进行修饰。生物化学论文。2012;...