基本类型的类型转换

冷暖自知 提交于 2020-01-31 00:00:48

基本类型的类型转换分为自动类型转换和强制类型转换。

自动类型转换

自动类型转换:把某种基本类型的值直接赋给另一种基本类型的变量或者把一个表数范围小的数值变量直接赋给另一种表数范围大的数值变量;
eg:

public class AutoConversion{
	public static void main(String[] args){
		int a = 6;
		//int类型可以自动转换为float类型
		float f = a;  
		System.out.println(f);  //输出值为6
		byte b = 9;
		//char c = b;  byte类型不自动类型转换为char类型
		//byte类型自动类型转换为double类型
		double d = b;
		System.out.println(d);  //输出值为9
		//基本类型的值转换为对应的字符串,即将该基本类型的值与一个空字符串连接起来。
		String str = 3.5f + "";
		//
		System.out.println(3+4+"hello");   //输出值为7hello
		//运算hello+3时,会将3当成字符串处理,结果为字符串hello3,再运算hello3+4时,将4当成字符串处理
		System.out.println("hello"+3+4);   //输出值为hello34
	}
}

注:任何基本类型的值和字符串连接起来时,基本类型的值架构自动类型转换成字符串类型;如果要把基本类型的值转换为对应的字符串时,将该基本类型的值与一个空字符串连接起来即可。

强制类型转换

如果要将自动类型转换的顺序反过来,则必须进行强制类型转换。
注意:强制类型转换容易造成数据丢失
eg:

public class NarrowConcersion{
	public static void main(String[] args){
		int iValue = 233;
		//强制把一个Int类型的值转换为byte类型的值
		byte bValue = (byte)iValue;
		System.out.println(bValue); //输出值为-23
		double dValue = 3.98
		int tol = (int)dValue;
		System.out.println(tol);   //输出值为3
		}
}

将字符串转换成基本数据类型时:使用基本类型对应的包装类可以实现把字符串转换成基本数据类型。
eg:

String a = "56";
int iValue = Integer.parseInt(a);

装箱:将基本类型用对应的引用类型包装起来;
拆箱:将包装类型转换为基本类型;
8种基本类型对应的包装类:

基本类型 包装类
boolean Boolean
byte Byte
float Float
short Short
int Integer
double Double
long Long
char Character

以上内容整理均来自李刚老师的《疯狂Java讲义》

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