Java数据类型转换
2021-03-12 00:33
标签:注意 -- 数据 自动 对象 char pre stat 转换 Java数据类型转换 标签:注意 -- 数据 自动 对象 char pre stat 转换 原文地址:https://www.cnblogs.com/Jiemyx/p/14514422.htmlpublic class Demo04 {
public static void main(String[] args) {
//低-------------------------------------->高
//byte、short、char->int->long->float->double
int i = 128;
//强制转换,(类型)变量名 高-->低
byte b = (byte)i; //内存溢出
System.out.println(i);
System.out.println(b);
//自动转换,低-->高
double d = i;
System.out.println(d);
System.out.println("=============");
System.out.println((int)28.5); //28
System.out.println((int)-45.68f); //-45
/*
注意点:
1、不能对布尔值进行转换
2、不能把对象类型转换为不相干的类型
3、在把高容量转换到低容量的时候,强制转换
4、转换的时候可能存在内存溢出,或者精度问题
*/
System.out.println("=============");
char c = ‘a‘;
int e = c+1;
System.out.println(e);
System.out.println((char) e);
System.out.println("=============");
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;
System.out.println(total); //-1474836480
long total2 = money*years;
System.out.println(total2); //-1474836480
//计算的时候出现问题,计算完(int类型)之后才转换,转换之前就出现问题了
long total3 = money*((long)years);
System.out.println(total3);
//题外话:L、l 有些地方会把小写l看成1,所以最好大写L
}
}