其他分享
首页 > 其他分享> > 数据类型转换-强制转换和注意事项

数据类型转换-强制转换和注意事项

作者:互联网

数据类型转换-强制转换

强制类型转换

  特点:代码需要进行特殊的格式处理,不能自动完成

  格式:范围小的类型,范围小的变量名 = (范围小的类型)原本范围大的数据;

//左边是int类型,右边是long类型,不一样
//long-->int,不是从小到大
//不能发生自动类型转换
//范围小的类型,范围小的变量名 = (范围小的类型)原本范围大的数据;
int num = (100) 100L;
System.out.println(num);

 

 

注意事项

1.强制类型转换一般不推荐使用,因为有可能会发生精度损失,数据溢出

2.byte/short/char这三种类型都可以发生数学运算,例如加法“+”

3.byte/short/char这三中类型在运算的时候,都会被首先提升为成为int类型,然后再计算

4.boolean类型不能发生数据类型转换   

//long强制转换成为int类型
int num = (int) 600000000L;
System.out.println(num);1705032704
//double-->int,强制类型转换
int num2 = (int) 3.99;
System.out.println(num2);
//这并不是四舍五入,而是舍弃小位数

 

 

 

char zifu1 = 'A'; //这是一个字符型变量,里面是大写字母A
System.out . println(zifu1 + 1); // 66,也就是大写字母A被当做65进行处理
. //计算机的底层会用一个数字(二进制)来代表字符A,就是65
//一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字
byte num4 = 40; //注意!右侧的数值大小不能超过左侧的类型范围
byte num5 = 50;
// byte + byte --> int + int --> int
int result1 = num4 + num5;
System . out . println(result1); // 90
Cshort num6 = 60;
.//byte+short-->int+int-->int
// int强制转换为short:注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出
short result2 = (short) (num4 + num6);
System. out. println(result2); // 100

 

标签:类型转换,short,int,--,注意事项,类型,强制,byte
来源: https://www.cnblogs.com/yuzong/p/16419967.html