高位数转换为低位数
————图片来自百度
语法格式
(type)value
1int强制转byte
public class QiangZhiZhuanHuan1 {
public static void main(String[] args) {
int i1=123; //定义一个int类型
byte b=(byte)i1; //强制类型转换为byte
System.out.println("int强制类型转换byte后值等于"+b);
}
}
int强制类型转换byte后值等于123
2int强制转char
一个类新生成,第一行都会空出来,是用来写包名。如果是一个包创建了多个类,就自动省略了。
public class QiangZhiLeiXingZhuanHuan2 {
public static void main(String[] args) {
int i1=128; //定义一个int类型
byte b=(byte)i1;//强制类型转换为byte
System.out.println("int强制类型转换byte后值等于"+b);
double d=123.456;//定义一个double类型
int i2=(int)d; //强制类型转换为int
System.out.println("double强制类型转换int后值等于"+i2);
}
}
int强制类型转换byte后值等于-128
double强制类型转换int后值等于123
发生了两种数据丢失。
3int强制转char
public class QiangZhiZhuanHuan3 {
public static void main(String[] args) {
char c1='A'; //定义一个char类型
int i=c1+1; //char类型和int类型计算
char c2=(char)i; //进行强制类型转换
System.out.println("int强制类型转后为char后的值等于"+c2);
}
}
int强制类型转后为char后的值等于B
4隐含类型强制转换
byte b=123;
java系统自动完成,浮点型必须在数值后面跟上F或者f,不存在这种情况。