实践六:Java中的数据类型转换
一.【数据类型】是有【容量和优先级】的
人分三六九等,碗有大碗小碗,不同类型的数据也有不同的容量,这一部分首先整理下Java中不同类型数据的【容量和优先级】:
注意:Java中不同类型的数据进行运算前首先要进行数据类型转换。很明显,转换无非就是高容量转换成低容量,或者是低容量转换成高容量。
基本转换原则:低容量到高容量是【自动转换】,高容量到低容量是【强制转换】,例外:虽然布尔值容量最低,但是布尔值不能被转换!
二.实践
1. 布尔值不能被自动转换!
2.低容量到高容量是自动转换
2.1 Byte类能表示的数字范围:-128~127
(byte型占1个字节,一个字节=8位,二进制表示中首位表示正负,还剩7位,各能表示2^7 =128, 最小负数=-128,最大正数=128-1=127,因为要去掉0这种情形。)
2.2 byte型(低)转int型(高):自动转换:
2.3 long型换float型也是自动转换:
注意:在转换时除了要看容量,还要看优先级!
3.高容量到低容量需强制转换
4.补充
三.总结
- Java中数据类型是有容量和优先级的
-
一般情况下容量低的到容量高的类型是自动转换;容量高的类型到容量低的类型需要手动强制转换,转换格式是在数字前加(要转换的类型)。
但是要特别注意像小数优先级更高,转换时要遵循优先级低到高才自动转换! - 运算时要格外注意运算溢出问题,要结合转换手段合理处理!
声明:本系列是【狂神说Java】系列教程的个人学习笔记,无意侵权。