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

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类型,就必须需要强制转换
    }
}

 

 

相关文章:

  • Netty中的直接内存是怎么回事?
  • 【leetcode hot 100 78】子集
  • companion object和object 从kotlin转java分析
  • lua实现面向对象(封装/继承/多态)
  • AI大白话(三):深度学习——AI的‘大脑‘是如何构建的?
  • 批量将 PPT 转换为PDF/XPS/JPG图片等其它格式
  • 【IROS 2025】CMU提出路径规划器PIPE:机器人探索效率提升14.6%,地图准确率提高9.3%!
  • 《真·出师表》
  • 剑指 Offer II 112. 最长递增路径
  • 51c大模型~合集73
  • 基于ArcGIS和ETOPO-2022 DEM数据分层绘制全球海陆分布
  • C++20 新特性:深入理解 `std::basic_string<char8_t>` 和 `char8_t`
  • QML指示控件:PageIndicator
  • 【重构小程序】基于Tika和Langchain4J进行文件解析和文本切片(二)
  • 自然语言处理(Natural Language Processing,NLP)入门教程
  • AfxMessageBox()和MessageBox()的差异。
  • OpenCV旋转估计(2)用于自动检测波浪校正类型的函数autoDetectWaveCorrectKind()
  • T-CSVT投稿记录
  • Century Avenue?有限元 lsdyna ansys、でしょ?
  • 【QA】观察者模式在QT有哪些应用?
  • 习近平:坚定信心推动高质量发展高效能治理,奋力谱写中原大地推进中国式现代化新篇章
  • 每一笔都是对的!再读周碧初画作有感
  • 国家外汇管理局:4月货物贸易项下跨境资金净流入649亿美元
  • 永久基本农田竟沦为垃圾场,湖南湘潭回应:全面启动专项整治
  • 全国多家健身房女性月卡延长,补足因月经期耽误的健身时间
  • 降水较常年同期少五成,安徽四大水利工程调水超11亿方应对旱情