当前位置: 首页 > article >正文

Java的表达式自动类型提升

在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。

类型高低表:byte,short,char---->int---->long---->float---->double(依次递增)

tips:

1.表达式的最终结果类型由表达式中的最高类型决定。

2.在表达式中,byte,short,char是直接转换成int参与运算的。

例子:

1.在下面这份代码中add的返回类型是double,即遵循“在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。”


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(add(1,2,'c',5.0));// 输出107.0
    }

    public static double add(int a,int b,char c,double t) {
        return a+b+c+t;
    }
}

2. 在下面这份代码遵循tips2"在表达式中,byte,short,char是直接转换成int参与运算的。"



public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(add(1,2,'c',5.0));//输出107.0

        System.out.println(add2((byte)1,(byte)2));//输出3

        System.out.println(add2((byte)1,(byte)3));//输出4
    }

    public static double add(int a,int b,char c,double t) {
        return a+b+c+t;
    }

    public static int add2(byte a,byte b) {  //返回类型是byte就会报错
        return a+b;
    }

    public static byte add3(byte a,byte b) {
        return (byte)(a+b); //要想返回byte类型,就必须需要强制转换
    }
}

 

 


http://www.kler.cn/a/593883.html

相关文章:

  • Java操作RabbitMQ
  • 基于ArcGIS和ETOPO-2022 DEM数据分层绘制全球海陆分布
  • VLLM专题(三十一)—架构概述
  • 蓝桥杯十四届C++B组真题题解
  • 计算机网络基础:网络配置与管理
  • springboot实现文件上传到服务器上,并通过url访问
  • 批量将 PPT 转换为PDF/XPS/JPG图片等其它格式
  • 谈谈 CSS 中z - index属性的作用及在什么情况下会失效。
  • LVGL和其他图形库区别于联系
  • 1.环境搭建VUE+Spring boot
  • 「清华大学、北京大学」DeepSeek 课件PPT专栏
  • 小型状态机实现
  • Kubeasz工具快速部署K8Sv1.27版本集群(二进制方式)
  • Promethues 添加访问密码
  • 数据结构与算法的学习路线
  • Redis设置开机自启报错start-limit-hit
  • MySQL配置主从复制教程(MySQL8)
  • 【C++语言】继承和多态常见的面试问题
  • 深入理解DFS:从迷宫探险到动态剪枝的征服之路(C++实现)
  • @maptalks/gl-layers中的VectorTileLayer的setStyle属性的全部line配置