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

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条)

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。