zoukankan      html  css  js  c++  java
  • Java中的类型转换

    Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

    可以分为:自动转换、强制转换

    Java中的自动转换

    特点:

    1、系统自动完成的,不需要程序员手动修改代码

    2、将取值范围小的类型 自动提升为 取值范围大的类型

    具体实例

    public static void main(String[] args) {
        int a = 1;
        byte b = 2;
        byte c = b + a; // 报错
        //int类型和byte类型运算,结果是int类型
        int d = b + a;
        System.out.println(d);
    }

    注意:

    整数类型直接写会默认为int

    小数类型直接写默认为double

    类型的范围大小:byte < short(char) < int < long < float < double

     

    Java中的强制转换

    特点:

    1、需要程序员手动修改代码

    2、语法:

    范围小的类型 变量名 = (范围小的类型)范围大的类型的数据

    3、从范围小 到 范围大(将取值范围大的类型强制转换成取值范围小的类型。)

    具体实例

    实例1

    int i = 1.5; // 错误

    double 类型内存8个字节,int 类型内存4个字节。1.5double 类型,取值范围大于int 。可以理解为double 是8升的水壶,int 是4升的水壶,不能把大水壶中的水直接放进小水壶去。

    想要赋值成功,只有通过强制类型转换,将double 类型强制转换成int 类型才能赋值。

    实例2

    int类型和double类型运算,结果是double类型,int类型会提升为double类型

    
    
    public static void main(String[] args) {
        int i = 1;
        double d = 2.5;
        double e = d+i;
        System.out.println(e);
    }

    注意:

    强制类型转换可能会造成数据的丢失哦,小伙伴们在应用时一定要慎重哦!

    Boolean类型不能发生强制类型转换

    byte short char 这三种数据类型发生数学运算时,会自动提升为int类型

    https://www.cnblogs.com/libinhong/
  • 相关阅读:
    Xamarin.Forms 开发IOS、Android、UWP应用
    C# 根据路径删除文件或文件夹
    UWP应用程序使用Prism框架构建MVVM
    创建UWP通用应用程序
    初体验uglifyjs压缩JS
    ecarts图与表格切换时,echarts全变形的原因及解决办法
    vue表格绑定数据中的值发生改变时,表格未刷新
    基于pycaffe的网络训练和结果分析(mnist数据集)
    安装python caffe过程中遇到的一些问题以及对应的解决方案
    logistic regression浅析
  • 原文地址:https://www.cnblogs.com/libinhong/p/10988463.html
Copyright © 2011-2022 走看看