Java类型转换

JAVA类型转换

转换规则

由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

 

类型转换

 

转换类型根据容量即字符大小由低到到进行转换,浮点类型优先级一定大于整型。

运算中,不同类型的数据先转化为同一类型,然后再进行运算。

注意:

  • 不能对布尔类型的变量进行类型转换。

  • 不能把对象类型转换为不相干的类型。

  • 在把高容量类型转换为低容量类型的时候需要使用强制类型转换。

  • 转换的时候可能存在内存溢出或精度问题。

 

强制转换

public class Demo5 {
    public static void main(String[] args) {
        int num1 = 128;
        byte b = (byte)num1;
​
        System.out.println(num1);
        //打印结果为128
        System.out.println(b);
        //打印结果为-128
        System.out.println((int)128.45);
        //打印结果为128
        System.out.println((int)-456.11f);
        //打印结果为-456
    }
}

 

在变量前加上括号()并在括号中写出目标类型即强制类型转换,即(数据类型)变量名。

由高类型往低类型转换需不超过低类型的容量。

如以上代码中,byte类型变量的范围为-128至127,而变量num1的值为128,强制将变量num1的值转换成byte类型后,内存产生溢出,则值循环。

注意:

  • 内存的溢出在转换类型的时候就已经产生了。

  • 浮点类型的数据在转换为整型时,会产生精度的丢失。

 

自动转换

public class Demo6 {
    public static void main(String[] args) {
        int num1 = 128;
        double num2 = num1;
​
        System.out.println(num1);
        //打印结果128
        System.out.println(num2);
        //打印结果128.0
    }
}

 

从低类型往高类型转换数据不需要强制转换,其变量是自动转换的。

posted @   乌鸦の学习  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示