类型转换
package com.kuang.base;
public class 类型转换04 {
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;//内存溢出
//强制类型转换 (类型)变量名
//优先级byte,int,char->int->long->float->double
//高-低 需要强制类型转换
//低-高 自动类型转换
System.out.println(i);
System.out.println(b);
/*
1,不能对布尔值进行转换
2,不能把对象类型转换为不相干的类型
3,在把高容量转换为低容量的时候,强制转换
4,转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("------------------------------");
System.out.println((int)23.7);//double型
System.out.println((int)-45.89f);//float型
System.out.println("------------------------------");
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
}
}
小结:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换为低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
数据溢出
public class 数据溢出问题05 {
public static void main(String[] args) {
//操作比较大的时候注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int year = 20;
int total = money*year;//-1474836480,计算的时候溢出了
long total2 = money*year;//转换前int类型,数据已经溢出
System.out.println(total2);
long total3 = money*(long)year;//计算前把数据转换为long
System.out.println(total3);
}
}
导入包
import com.kuang.base.Demo07;//导入Demo07这个类
import com.kuang.base.*;//通配符,导入这个文件下所有的包
public class 导入自身写好的包 {
}