类型转换
由于Java是强类型语言 所以要进行有些运算的时候 需要用到类型转换
低------------------------------->高
byte short char->int-> long-> float -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算。!public class DEMO04 {
public static void main(String[] args) {
int i = 128;
double b = i;
//强制转换 (类型)变量名 高--低
//自动转换 (类型)变量名 低--高
System.out.println(i);
System.out.println(b); //结果是128 -128 内存溢出
/*
1.注意点;不能对布尔值进行转换
2.不能把对象类型转换成不相干的类型
3.在把高容量的转换成低容量的时候,不需要强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("====================");
System.out.println((int)23.7);
System.out.println((int)-45.89f );//23 -45 输出结果精度问题
System.out.println("====================");
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char) d); //98 b 输出结果
}
public class DEMO05 {
public static void main(String[] args) {
//操作比较大的数字的时候注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10000_00_000;
int years =20;
int total = moneyyears;//-1474836480 计算溢出
long total2 = moneyyears;//默认是int,转换之前就存在问题了?
long total3 = money*((long)years);//先把一个数转换成long
System.out.println(total3 );
//L l小写的l会被误认为1 建议用大写的L代替