类型转换Typecasting是一个用与Java类似的所有语言引入的术语。
当我们将原始数据类型分配给另一个数据类型时。
在Java中,类型转换具有两种类型:扩大类型转换
缩小类型转换
我们将通过示例研究两种类型转换。
a)扩大类型转换当我们将较小的数据类型转换为较大的数据类型时。
在这种类型转换中,没有数据丢失。
它是由编译器完成的(即自动的)。它不是由用户完成的。
扩展类型转换的层次描述如下:
字节→短→字符→整数→长→浮点→双精度 (byte → short → char → int → long → float → double)
扩大类型转换的例子public class WideningTypecast {
public static void main(String[] args) {
int num1;
byte num2 = 20;
//我们正在分配较小的数据类型
//字节到较大的数据类型
num1 = num2;
//打印输出
System.out.println("The value of num1 is :" + num1);
}
}
输出结果D:\Programs>javac WideningTypecast.java
D:\Programs>java WideningTypecast
The value of num1 is :20
b)缩小类型转换当我们将较大的数据类型转换为较小的数据类型时。
在这种类型转换中,存在数据丢失。
它不是由编译器(即手动)完成的。它是由用户完成的。
缩小类型转换的层次结构描述如下:
double→float→long→int→char→short→byte
缩小类型转换的示例public class NarrowingTypecast {
public static void main(String[] args) {
int num1;
double num2 = 20.8;
//我们正在分配更大尺寸的数据类型
//长到较小的数据类型
num1 = (int) num2;
//打印输出
System.out.println("The value of num1 is :" + num1);
}
}
输出结果D:\Programs>javac NarrowingTypecast.java
D:\Programs>java NarrowingTypecast
The value of num1 is :20