Typecasting是一个用与Java类似的所有语言引入的术语。
当我们将原始数据类型分配给另一个数据类型时。
在Java中,类型转换具有两种类型:
扩大类型转换
缩小类型转换
我们将通过示例研究两种类型转换。
当我们将较小的数据类型转换为较大的数据类型时。
在这种类型转换中,没有数据丢失。
它是由编译器完成的(即自动的)。它不是由用户完成的。
扩展类型转换的层次描述如下:
字节→短→字符→整数→长→浮点→双精度 (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
当我们将较大的数据类型转换为较小的数据类型时。
在这种类型转换中,存在数据丢失。
它不是由编译器(即手动)完成的。它是由用户完成的。
缩小类型转换的层次结构描述如下:
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