数据类型转换

橙三吉。 提交于 2020-03-04 19:56:27

Java中类型转换主要分为两种

自动类型转换

自动类型转换就是不需要做任何处理,编译器自动完成的数据转换
基本数据类型在这里插入图片描述
条件:自动数据转换必须由数据范围小的向数据范围大的类型转换
例如:int→long int→float

		int numeral1 = 10;
		float numeral2 = 11.1f;
		numeral2=numeral1;
		System.out.println(numeral2);

输出结果
在这里插入图片描述
如果转换范围变成由大变小
则直接报错

强制类型转换

强制类型转换则是需要用特殊手段进行数据的强制转换;不需要遵循自动转换的规则
但是强制类型转换会出现精度偏差或者数据溢出的情况

		int numeral1 = 10;
		float numeral2 = 11.1f;
		numeral1=(int) numeral2;
		System.out.println(numeral1);

输出结果发现小数点后数据没有了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200304140215753.pn
数据溢出情况

		int numeral1 = 10;
		float numeral2 = 1111111111111111f;
		numeral1=(int) numeral2;
		System.out.println(numeral1);

输出结果表示溢出
在这里插入图片描述
字符类型的数据转换会变为其对应的(int类型) ascii码 (如果溢出会直接报错)
反之int转化为char 也是会变成ascii码对应的字符

		char numeral1 ;
		float numeral2 = 98;
		numeral1=(char) numeral2;
		System.out.println(numeral1);

输出结果 int型的ascii 98对应的为b

在这里插入图片描述

		char numeral1 = 'b';
		int numeral2;
		numeral2=(int) numeral1;
		System.out.println(numeral2);

输出结果即为98
在这里插入图片描述
如果转化为float 则转化为int型所对应float型 其他同理

		char numeral1 = 'b';
		float numeral2;
		numeral2=(float) numeral1;
		System.out.println(numeral2);

输出结果
在这里插入图片描述

小白刚开始学习啥都不懂 如果有什么不对 欢迎 各位大佬指出

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!