java的数据类型
2021/12/4 20:16:42
本文主要是介绍java的数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、java的8种数据类型
Java是一种强数据类型,其本质就是在内存中开辟不同形式的内存空间。
整型:byte,short,int,long
浮点型:float,double
布尔型:boolean
字符型:char
二、整型及浮点型的存储范围
类型 | 字节长度 | 取值范围 |
---|---|---|
int | 4 | -2147483648~2147483647 |
short | 2 | -32768~32767 |
long | 8 | -9223372036854775808~9223372036854775807 |
byte | 1 | -128~127 |
float | 4 | 略 |
double | 8 | 略 |
三、为什么byte类型127+1是-128
public static void main(String[]args){
byte a=127;
byte b=(byte)(a+1);
System.out.println(b);
}
1.计算机中以补码存储数据
(以byte类型进行讨论)
原码:
45 00101101
-45 10101101
反码:
45 00101101
-45 11010010
补码:
45 00101101
-45 11010011
针对正数:正数的原码=反码=补码
针对负数:负数的反码=除符号位外其余位按位取反;
负数的补码=反码+1
2.为什么要计算反码
因为在计算机中只有加法,没有减法,在进行减法运算时,实质上是认为加上一个负数,这样可以减少计算电路的复杂度。
使用原码进行减法运算会出错:
例如,计算1-1,在计算机中默认转换为1+(-1),
=【00000001】原+【10000001】原=【10000010】原=-2
结果与实际运算不符
使用反码进行减法运算:
=【00000001】原+【10000001】原=【00000001】反+【11111110】反=【11111111】反=【10000000】原
=-0
00000000可以表示+0,10000000可以表示-0,二者是一样的,用2个编码其实浪费了资源。
使用补码进行减法运算:
=【00000001】原+【10000001】原=【00000001】补+【11111111】补
=【00000000】补
=【00000000】原
这样0可以用【00000000】表示,而之前出现的-0问题也就不存在了。
反码是为了解决减法问题,而补码是为了解决反码产生的±0的问题
四、数据转换时的精度损失
从int型数据转换为float型存在精度丢失,
从int型数据转换为double型存在精度丢失,
从long型数据转换为float型存在精度丢失,
强制类型转换:括号中表明强制转换类型
例如:将int型数据转换为byte型数据
int a=56788;
byte b=(byte)a;
五、关系运算符
常见的关系运算符:
关系运算符 | 含义 |
---|---|
== | 相等运算符 |
>= | 大于或等于运算符 |
<= | 小于或等于运算符 |
!= | 不等于运算符 |
> | 大于运算符 |
< | 小于运算符 |
这篇关于java的数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南