public class Demo4 {
public static void main(String[] args) {
//强制转换格式:(类型)变量名
int i=128;
byte b=(byte)i;//转换结果错误(引出强制转换规则:从高-低)
System.out.println(b);
//自动转换格式:(类型)变量名;变量名 /*{两种格式都可以}*/
//自动转换规则:从低-高
//具体规则:byte < short(int) < int < long < float < double
short s=64;
long l=s;//自动转换成功
System.out.println(l);
/*
类型转换的注意点:
1.不能对boolean型进行转换
2.赋值时等号两边类型必须一致
3.运算时类型必须一致
4.高容量数据类型转低容量,必须用强制转换;
{高转低的问题:转换时如果超过低容量数据类型内存,内存溢出将导致转换结果出错}
5.浮点型转整数型会出现精度问题(浮转整小数点会被省略)
double d1=123.4;
int i1=(int)d1;
System.out.println(i1);
*/
//输入大的数据时可用英文下划线“_”方便读写:
int i3=10_0000_0000;
System.out.println(i3);
//练习:单字符(高)转(低)整数型
char c2='a';
int i2=(int)c2+1;
System.out.println(i2);
System.out.println((char)i2);
}
}