小羊也疯狂 2016-12-03 10:23 采纳率: 100%
浏览 3492
已采纳

Java 方法返回值类型 类型转换

图片说明
图片说明
第5行一直报错 说要返回long 类型的值

问题1:我认为我方法中的三种情况下的返回值都是long 不知道出了什么错
问题2:如果我在返回值为long的方法里写
renturn 1 ; 这个 1 会被自动转化为long类型吗
问题3 : 这么写可不可以
return (long )1;

  • 写回答

9条回答 默认 最新

  • yangqinghua1992 2016-12-04 16:54
    关注

    问题1:方法 F 中有3个 if 语句,你的返回值都建立在 if 条件成立时返回,但可能这三个条件都不成立,那就没有返回值了,所以报错。

    问题2:return 1; 是可以的,Java会自动的将表示范围小的数据类型 自动 提示为大的数据类,这叫做 "自动类型提升" 或 "隐式转换"

    问题3:return (long) 1; 没有问题, 更好的写法是 return 1L,注意 1 后面有一个大写字母 L ,这叫做给数字加 "后缀",但在你这个方法里不必这样,返回 1 即可,参见问题2解答。

    在Java中,整数默认是int类型,小数默认是double类型,如果你想告诉 Java虚拟机这个 1 是 long 类型,只需要在数字后面加上 字母L (不区分大小写,但建议大写,因为小写的L 容易与数字 1 混淆)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格