说说 Java 的类型转换

必要时,Java 会将一种数据类型自动转换成另一种类型。例如,假设我们把一个整数赋值给 float 类型的变量,Java 会将 int 类型自动转换成 float 类型。我们也可以在程序中,进行强制类型转换。

public class TypeCast {

    public static void main(String[] args) {

        //自动转换
        float f = 1L;
        System.out.println(f);

        /**
         * 强制转换
         */
        //向下转换
        long l = 2000000000000000000L;
        System.out.println("l:" + l);
        int i = (int) l;
        System.out.println("i:" + i);

        //向上转换
        int i2 = 100;
        long l2 = (long) i2;
        System.out.println("i2:" + i2);
        System.out.println("l2:" + l2);
    }
}

运行结果:

1.0
l:2000000000000000000
i:1321730048
i2:100
l2:100

  1. 第一个示例是自动转换,可以看到当把 long 长整型数值赋值给 float 类型的变量时,实际上已经自动发生类型转换咯(即从 long 转换为 float)。
  2. 显式类型转换分为两种,向上与向下类型转换。
    【1】向上类型转换指的是,把较小类型的数据转换为较大类型的数据,比如示例中的 int 转换为 long。
    【2】向下类型转换指的是,把较大类型的数据转换为较小类型的数据,比如示例中的 long 转换为 int,这种转换会丢失部分数据。
发布了626 篇原创文章 · 获赞 705 · 访问量 91万+

猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/104107502
今日推荐