Java:数据类型的分类以及数据类型之间的转换

Java的数据类型一共有8种,4种整型,2种浮点型,1种是用于表示Unicode编码的字符单元的字符类型char,一种是boolean。

数据类型的分类

  • 整型

    数据类型.png

长整型类型的数据后面要加后缀L(如4000000000L)。

十六进制数前有一前缀0x,如0xCAFE。

八进制数前有一前缀0,如010对应8。

从Java开始,加上前缀0b就可以写二进制数,如0b11对应3。

与C或C++不同的是,Java具有良好的可移植性,其数据类型取值范围不与运行Java代码的机器相关, 是不发生改变的。

  • 浮点类型

浮点类型.png

float类型数据后面有一后缀F(如,3.14F),如果不加后缀则表示都变了类型(如,3.14表示double类型),当然double也可用后缀D表示(如,3.14D)。

在多数情况,float类型的精度很难满足需求,如用float表示大于百万的数就很困难,所以在实际运用中,浮点型数据多用double表示。

  • char类型

char类型用于表示单个字符,用Unicode编码表表示,有一些特殊转义字符序列。

转义字符.png
  • boolean类型

boolean(布尔)类型有两个值,false和ture,用于判定逻辑条件,整型与布尔型之间不能相互转换。

数据类型之间的转换

  • 合法转换

合法转换.png

其中实线箭头表示无信息丢失的转换,虚线箭头表示可能有精度的损失。

如果两个数值进行二元操作时(如,n+f,n是整型,f是浮点型),则会将两个操作数转换为同一类型,再进行计算。

1.如果两个操作数中有一个是double型,则另一个转为double型。
2.否则,其中有一个操作数为float型,则另一操作数转为float型。
3.否则,其中有一个操作数为long型,则另一操作数转为long型。
4.否则,两个操作数都将转为int型。

  • 强制类型转换

强制类型转换的语法结构是在括号内写出要转换的类型名,在括号后紧跟待转换的变量名,如,

double x=3.14;
int y=(int)x;

强制转换类型将截断小数部分将浮点型转换为整型。

如果进行类型转换,而超出了目标类型的范围,则会截断成一个完全不同的值,如(byte)300的实际值为44.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容