提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
Java中的基本数据类型
Java中的数据类型大致有两种:基本数据类型(常用的,不是对象)、引用数据类型(对象)。其中,基本数据类型有8个。
提示:以下是本篇文章正文内容,下面案例可供参考
一、8大基本数据类型
分别是:
1.1 int类型
整形直接量
Java中规定所有直接写出来的整数,就是整型直接量,其类型一律是int。也就是说:在给int类型变量赋值的时候,不可以超过int的数据范围。
整数除法运算,结果是取整
Java中两个整数进行除法运算时,其结果会舍弃小数部分,保留整数部分。因为Java中规定,整数运算结果还是整数。本质上,整数除法是在求商。
整数运算的溢出问题
当两个整数进行较大运算时,其结果可能会超过int类型的范围,而发生整数溢出问题。溢出后的结果是:两个正数运算结果是负数,两个负数的运算结果是正数。要想避免整数溢出的发生,只能采用较大的long类型。
1.2 long类型
long类型直接量
所有整型直接量是int类型,如果要操作int类型以外的整数则需要使用long类型直接量。long类型直接量就是在整数的末尾加L或l即可。
例如存储时间毫秒值
JDK的系统类库中提供了一个获取从1970年1月1日到此时此刻所经历的时间毫秒值,具体写法为:System.currentTimeMillis(),由于结果远远超过int的范围,只能使用long类型来存储该结果。
1.3 浮点数
浮点直接量
Java中规定所有直接写出来的小数,就是浮点直接量,其类型一律是double。如果要想给float类型赋值时,需要在小数的末尾加F或f。
注意浮点数运算时,结果的舍入误差
浮点数在运算时,其结果可能发生精度舍入误差问题。由于计算机二进制无法精确表达小数,也就是说浮点数运算的舍入问题是无法解决的。如果考虑浮点数精确运算时,不能使用double和float,而采用BigDecimal科学计算工具来进行精确运算。
1.4 字符类型
char类型是单个字母、符号、汉字等内容的字符数据,本质上char类型是每个字符内容的Unicode编码值(十进制、十六进制)。也就是说:char类型的每个字符都分别对应一个数字,char类型赋值有两种不同写法:
字符形式----将单个字符内容写在一对单引号中;
整数性质----范围在0-65535之间的整数;
2.1 不同数字类型之间的转换问题
在赋值时的转换
不同数字类型在赋值时,会发生自动转换和强制转换。具体为:
自转----小类型可以直接赋值给大类型;
强转----大类型必须手动强转之后,赋值给小类型;
数字类型的大小关系:double > float > long > int > char、short 、byte
注意:整数强转可能发生溢出问题,浮点数强转可能发生精度丢失。
2.2 运算时,结果的自动转换
不同的多个数字类型参与运算时,结果一律自动转换为运算中较大的数字类型。
2.3 byte、short、char与int类型的相互自转
在使用byte、short、char类型时,一律遵循如下自动转换原则:
①、整形直接量(int)可以直接赋值给byte、short、char,不能超过三者的范围;
②、byte、short、char在参与运算时,先一律自转为int,然后再计算;
2.4 boolean 类型
boolean 类型用来判断逻辑条件,一般用于程序流程控制 。boolean 类型有两个常量值,true 和 false.
总结
以上就是对Java中基本数据类型的总结,如有疏漏,请大佬们指点一二,谢谢!