Java中的类型转换
- 强制类型转换语法:(数据类型)变量名;
public class Hello {
public static void main(String[] args) {
System.out.println("Hello,world");
char a='a';
System.out.println((int)a);
char b='中';
System.out.println((int)b);
}
}
仔细看输出行代码,在打印输出的括号内,将想要转换的类型用括号括起来,并在后边写想要转换的变量,就可完成强制类型转换
- 类型转换中的内存溢出问题
转换机制:
由以上可知,由高到低可以强制转换,由低到高就可以***自动转换***
这里我们举一个转换的例子:
public class Demo1 {
public static void main(String[] args) {
int a=128;
byte b=(byte)a;
System.out.println(b);
}
}
我想把int型a转换成byte型的b, ***byte b=(byte)a;***,但是运行之后会发现:
变成了-128,这里就是内存溢出,因为byte型的范围值最大为127,这里是128,所以溢出了