基本数据类型之间的转换

基本数据类型之间的转换

基本数据类型的转换分为自动类型转换和强制类型转换·,在进行数据类型的转换之前我们需要知道各个数据类型的范围大小的排序,见下图。

byte
short
int
long
float
double

从小到大依次排序

1.自动类型转换

自动化类型转换即从小范围的类型转换到大范围的类型。比如从int类型转换为double类型。自动类型转换是可以直接进行的。例如下面的例子,当我把num1的值赋值给num2的时候,我们的程序没有问题,输出num2 = 18.0.这样,我们就实现了自动类型的转换。

public class Cast{
    
    
	public static void main(String[] args){
    
    
	int num1 = 18;
	double num2 = num1;
	System.out.println("num2 = " + num2);
	}
}

2.强制类型转换

但是,当我们反过来把doub类型的值赋给int类型会出现什么情况呢?可以看到,当我运行下面的代码时,编译不通过,原因是从doub类型转换到int 类型可能会造成精度的损失。

public class Cast1{
    
    
	public static void man(String[] args){
    
    
	double num1 = 18.5;
	int num2 = num1;
	System.out.println("num2 = " + num2);
	}
}

在这里插入图片描述
那么要怎样才能进行强制类型的转换呢?其实很简单,只要在带转换的类型前面加上(目的类型)就可以啦。

public class Cast1{
    
    
	public static void main(String[] args){
    
    
	double num1 = 18.5;
	int num2 = (int)num1;
	System.out.println("num2 = " + num2);
	}
}

运行结果如下图。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43825377/article/details/105295939