这篇文章主要介绍了Java数据类型分类与基本数据类型转换,Java的数据类型主要分为两类,基本数据类型、引用数据类型,下文详细介绍,感兴趣的朋友可以参考一下
1.数据类型的分类
Java的数据类型主要分为两类:基本数据类型、引用数据类型
Java中的字符串String属于引用数据类型。因为String是一个类
他们的默认值和字节大小如下:
byte类型的取值范围为-128~127,因为1个字节=8位,则一个字节的区间为:[-128,127]
计算机储存有符号的整数时,是用该整数的补码进行存储的。
注意事项:
Java中的整型常量默认是int类型,声明long类型常量需要在数值后面加上“l或L”
Java中的小数默认是double类型,声明float类型常量需要在数值后面加上“f或F”
2.基本数据类型转换
(1)自动类型转换
即隐式类型转换:将小盒子装到大盒子里面,小=>大
类型范围小的变量,可以直接赋值给类型范围大的变量。
①底层实现原理如下图所示:
注:char类型也可以转换为int类型
char类型存放的unicode字符集,字符底层是二进制,二进制也就是数字,并且char占用2个字节,小于int的范围,所以可以转换为int类型。
A的ASCII码是65,a的ASCII码是97;ASCII码表中,一个字母的大小写数值相差32,一般知道大写字母的ASCII码数值,其对应的小写字母的ASCII码数值就算出来了,是大写字母的ASCII码数值“+32”。
0的ASCII码值为48,1的ASCII码值为49
②示例:
注意事项:
在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
在表达式中,byte、short、char 是直接转换成int类型参与运算的
例:
此处的i和j在做运算时,被转换为int类型进行计算,所以数据类型应改为int
思考:为什么要将数据类型转换成int进行计算?
因为当两个数都比较小的时候对结果可能没有影响,一旦两个数字都比较大,例如110+120=230,超出了byte的取值范围,所以索性直接转换成int进行计算。
(2)强制类型转换
类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。
可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
转换格式: 数据类型 变量 = (数据类型) 变量1
①示例
②底层实现原理
强转成byte类型后只保留一个字节大小的数据,即1101 1100(补码形式),符号位是1说明是负数,将补码转换成原码后为1010 0100,对应的十进制为:-36
注意事项: 强制类型转换可能造成数据(丢失)溢出浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
到此这篇关于Java数据类型分类与基本数据类型转换的文章就介绍到这了,更多相关Java数据类型转换内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Java数据类型分类与基本数据类型转换
基础教程推荐
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- springboot自定义starter方法及注解实例 2023-03-31
- Java实现线程插队的示例代码 2022-09-03
- Java并发编程进阶之线程控制篇 2023-03-07
- Java数据结构之对象比较详解 2023-03-07
- Java文件管理操作的知识点整理 2023-05-19
- Java实现查找文件和替换文件内容 2023-04-06
- java基础知识之FileInputStream流的使用 2023-08-11
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- java实现多人聊天系统 2023-05-19