什么是强制数据类型转换?
可以强行将类型范围大的变量、数据赋值给类型范围小的变量
比如:
// 类型 变量 = (类型)变量
int a = 30;
byte b = (byte)a; // 30
注意:
1、强制数据类型转换有可能会把数据丢失 如
int a = 500;
byte b = (byte) a; // -12
原因:因为byte的范围是-127 -> 127 而a = 500 超出了byte的范围,所以数据会丢失
底层原理:
int a = 500 -> 二进制 (00000000)(00000000)(00000001)(11110100)
↓↓↓↓↓
byte b 因为第一位是1所以是负数 (11110100)
不会进制转换的点击查看https://blog.csdn.net/qq_45578842/article/details/125656426?spm=1001.2014.3001.5502
2、小数强制转换成整数是不会保留小数的
如
double a = 36.6;
int b = (double)a; // 36