【Java基础】八种基本数据类型--原码反码补码

简介: 【Java基础】八种基本数据类型--原码反码补码

       Java分多钟数据类型的区分,是为了节省资源。能用1个字节存储的,就不用2个字节存储。        

Java的八中基本数据类型:

       --Boolean

       --数值类型

               --整数

                   --byte(整型,以下四种都是)

                   --short

                   --int

                   --long

                   --char(字符型)

               --浮点数

                   --float

                   --double

                   --特殊值3个:(POSITIVE_INFINITY、NEGATIVE_INFINITY、NaN)分别是无穷大、无穷小、非数。

数据类型的长度(字节):

数据类型 boolean type short int long char float double
长度(字节)1字节=8位 1 1 2 4 8 2 4 8

各数据类型变量的表现形式:

       整型    有4种:十进制、二进制、八进制、十六进制

       字符型有3种:单个字符、转义特殊字符、unicode值

       浮点型有2种:十进制、科学计数法

类型转换两种方式:

       强制:高位向低位。

       自动:低位向高位。

整型的特殊总结:

       所有数字在计算机底层都是以二进制形式存在。计算机以补码的形式保存所有的整数。提到补码,就要先了解一下原码、反码、补码的概念:

       原码是直接将一个数值换算成二进制数。

       反码是对原码按位取反,只是最高位(符号位)保持不变。

       补码的计算规则:正数的补码和原码完全相同,负数的补码是其反码加1;

1. //定义一个32位二进制整数,最高位是符号位,1表示它是个负数,0表示它是正数。最高位是2的32次方的位,从右往左,第32位就是最高位。
2. int bimVal3 = OB1(29个0)11;

二进制整数转换成十进制数的过程:

       二进制数为负数,先把补码-1得到反码,然后按位取反,符号位不变,得到原码。

       二进制数为正数,其补码和原码完全相同。

       先由二进制补码转成原码,之后,再由原码换算成相应的十进制数。

1. //定义一个32位二进制数,最高位是1,数值后添加了L后缀,因此整数占64位,第32位不是符号位,它的符号位是0。
2. long binVal5 = OB1(29个0)11L;
1. //定义一个8位的二进制整数,它占32位,因此它是一个正数,强制类型转换成byte时产生了溢出,最终导致binVal4变成了-23
2. byte binVal4 = (byte)Ob11101001;

溢出怎么算?

       会截断,溢出的位数会拿不到,剩下什么就是什么。


总结:

       又搞清楚了一些概念,附上一张导图。


相关文章
|
3月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
54 1
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
68 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
50 1
|
3月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
38 1
|
3月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
43 0
|
3月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
41 0
|
3月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
31 0
|
4天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
21 4
|
2天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
9 1
|
17天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
31 0
[Java]“不同族”基本数据类型间只能“强转”吗?
下一篇
无影云桌面