自动类型转换与强制类型转换

      java基本数据类型之间存在自动类型转换与强制类型转换两种转换方法。

      类型从低到高:byte->char->short->int->long->float->double,如果类型从低到高自动转换,从高到低时则需要强制转换,语法为:

运行转换后的类型 变量 = (转换后的类型)被转换的变量

例如:

long long = 1000L;
byte bl = (byte)long;

实现代码如下:


public class Type {
	public static void main(String[] args) {
		byte b = 127;
		char c = 'Z';
		short s = 342;
		int i =123;
		long l = 5000000L;
		float f =3.14F;
		double d = 54.67;
		//低类型向高类型会自动化转换
		System.out.println("累加byte等于:"+b);
		System.out.println("累加char等于:"+(b+c));
		System.out.println("累加short等于:"+(b+c+s));
		System.out.println("累加int等于:"+(b+c+s+i));
		System.out.println("累加long等于:"+(b+c+s+i+l));
		System.out.println("累加float等于:"+(b+c+s+i+l+f));
		System.out.println("累加double等于:"+(b+c+s+i+l+f+d));
		//高类型到低类型的数据转换
		System.out.println("把long强制转换为int类型:"+(int)l);
		//高类型到低类型转换会丢失数据
		System.out.println(""+(short)i);
		//实数到整数部分转换将舍弃小数部分
		System.out.println(""+(int)d);
		//整数到字符类型的转换将获取对应编码的字符
		System.out.println(""+(char)s);
	}
	
}

效果如下:

注意:

在强制转换时会发生数据丢失,以及实数转换到整数时会丢弃小数部分。

猜你喜欢

转载自blog.csdn.net/zxdspaopao/article/details/83246681