//强制转换 (类型名)变量名 长度由高到低的转换
//自动转换 长度由低到高的转换
int x = (int)3.6; //把double类型的数据强制转换成为int 精度由高到低的转换
double x1 = 3.6f; //把float类型的数据自动转换成为double类型 精度由低到高的转换
int x2 = (int)‘a‘;
System.out.println(x2); //输出结果为97
System.out.println((char) x2); //输出结果为a
//注意:
//不能把布尔型的数据转换成为别的类型
//转换的时候可能存在溢出或者是精度丢失的问题
//操作比较大的数时候要注意溢出问题
//jdk7 的新特性,数字之间可以用下划线来分割,并且输出的时候没有下划线
int money = 10_0000_0000;
int years = 20;
int total = money*years;
System.out.println(total); //输出-1474836480 ,长度越界了
// long total2 = money*years; //这样是不行的,因为在赋值之前的计算已经越界了
long total3 = money*(long)years; //这样才可以,在计算的时候就把数据类型转化成为整形了,计算出来的结果就是准确的
//强制转换 (类型名)变量名 长度由高到低的转换 //自动转换 长度由低到高的转换 int x = (int)3.6; //把double类型的数据强制转换成为int 精度由高到低的转换 double x1 = 3.6f; //把float类型的数据自动转换成为double类型 精度由低到高的转换
int x2 = (int)‘a‘; System.out.println(x2); //输出结果为97 System.out.println((char) x2); //输出结果为a //注意: //不能把布尔型的数据转换成为别的类型 //转换的时候可能存在溢出或者是精度丢失的问题
//操作比较大的数时候要注意溢出问题 //jdk7 的新特性,数字之间可以用下划线来分割,并且输出的时候没有下划线 int money = 10_0000_0000; int years = 20; int total = money*years; System.out.println(total); //输出-1474836480 ,长度越界了// long total2 = money*years; //这样是不行的,因为在赋值之前的计算已经越界了 long total3 = money*(long)years; //这样才可以,在计算的时候就把数据类型转化成为整形了,计算出来的结果就是准确的
原文:https://www.cnblogs.com/ygrdgh/p/14170751.html