Eg1:
public class Example01 {
public static void main (String [ ] args) {
int num=4;
byte b=(byte) num;//int类型的取值范围大于byte类型的取值范围,需要进行强制转换
System.out.println(b);
}
}
强制类型转换格式如下:
目标类型 变量=(目标类型)值
输出结果:
Eg2:
public class Example02 {
public static void main (String [ ] args) {
byte a;
int b=298;
a=(byte) b;//将一个int类型的变量b强制转换成byte类型并赋值给a
System.out.println("b="+b);
System.out.println("a="+a);
}
}
输出结果:
Eg3:
public class Example03 {
public static void main(String [ ] args) {
byte b1=3;
byte b2=4;
byte b3=(byte) (b1+b2);//b1和b2都进行强制类型转换,如果没有(byte),运算结果就是int型,如果这时将结果赋给byte类型的变量,编译器会报错
System.out.println("b3="+b3);
}
输出结果:
}
Eg4:
public class Example04{
public static void main (String [ ] args) {
int x=12;
{
int y=96;
System.out.println("x is"+x);
System.out.println("y is"+y);
}
//y=x;y的作用域在5-8行代码,第9行代码y=x在变量y的作用域之外为其赋值,所以将其注释掉
System.out.println("x is"+x);
}
}
输出结果: