java练习(八)——强制类型转换

高位数转换为低位数

————图片来自百度

语法格式

(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,不存在这种情况。


版权声明:本文为sckskx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。