基本数据类型的转换问题-创新互联
public class LeiXinZhuanHuan {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i;//因为int 比 byte大所以会出现内存溢出输出结果就是-128
//这就是强制转换
//强制转换 (类型)变量名 高->低
//,自动类型转换 低->高
System.out.println(i);
System.out.println(b);
System.out.println("=============================================================================================");
//注意点:
//1,不能对布尔值进行转换
//2,不能把对象转换成不相干的类型
//3,在把高容量转换到低容量的时候,强制转换
//4,转换的时候可能存在内存溢出,或者精度问题
System.out.println((int) 10.1);
System.out.println((int) -45.89);//转精度会出现精度丢失问题
System.out.println("=============================================================================================");
char c = 'a';
int d = c + 1;
System.out.println(d);
System.out.println((char) d);
System.out.println("==============================================================================================");
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int years=20;
int total=money*years;//会导致内存溢出
System.out.println(money);
System.out.println(total);
long gg1=money*years;//默认是int,转换之前已经存在问题了
System.out.println(gg1);
long gg=money*(long)years;//先把一个数转换为long
System.out.println(gg);
}
}
输出结果为
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:基本数据类型的转换问题-创新互联
文章位置:http://hbruida.cn/article/cohids.html