类型这里我们做个由大到小做个排序
double>float>long>int>byte,short,char
double就是我们最大的类型,byte,short,char就是我们最小的类型
我们可以进行转换 转换分为强制转换和自动转换
代码演示一下下
public class Dome1 {
public static void main(String[] args) {
int x=76;
byte y=(byte)x;//我们把int强制转换为byte类型
System.out.println(y);
}
}
这里我们用到了强制转换它的规则就是(类型)+变量名 如果我们直接写bytey=x;就会报错 因为int比byte大 由小转大就需要付出这样的代价 这就是强制转换 一般用于小类型转大类型
错误示例:
还有需要注意的就是类型的范围问题 就拿我们的byte来说 它的范围在-128到127之间如果把int类型的变量定义为200然后强制转换为byte那它输出的就不是你想要的结果了 因为它溢出了
很显然不是我们想要的结果 这就是内存溢出了
然后就是自动转换 我们同样的演示一下
public class Dome1 {
public static void main(String[] args) {
int x=200;
long y=x;//这里我们不需要采用任何手段之间就转换了
System.out.println(y);
}
}
从大类转到小类就不需要做任何操作了 这就是自动转换
强制转换简单的打个比方 方便理解
你在追求你的女神 而女神不想叼你 这时候你就是低姿态追求 而女神就是高姿态享受
我们可以把你理解为byte小丑,而女神就是long女王 你最垃 所以她看不起你
但是 我们可以花代价 利用“强制转换”这个手段去疯狂付出 女神感动了 就和你在一起了
自动转换 就不一样了
就相当于 你心爱的女神朦朦胧胧的表示好感 随便给你一点暗示 这个时候她不需要付出任何代价 就能拿捏你
你个byte小丑就疯狂沦陷了 而我们的long女神直接就把你拿捏的死死的 自动束手就擒