加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java – int / long,float / double

发布时间:2020-12-15 02:05:46 所属栏目:Java 来源:网络整理
导读:我明白“2.5”自动是双倍的,为了使它成为一个浮点数,我需要做“2.5F”(或者F应该是小写?),并且我应该使用浮点数,比方说,如果我有一个常数只需要2个小数位(如安大略省PST税的“0.08F”),但我不确定“12”是int还是long,但我知道“12L”是长的,但是“长” l =
我明白“2.5”自动是双倍的,为了使它成为一个浮点数,我需要做“2.5F”(或者F应该是小写?),并且我应该使用浮点数,比方说,如果我有一个常数只需要2个小数位(如安大略省PST税的“0.08F”),但我不确定“12”是int还是long,但我知道“12L”是长的,但是“长” l = 12“和”long l = 12L“似乎编译成相同的东西,如果我想要最大的非浮点精度,我使用long,如果我知道我不需要超出int的限制,则使用int.

如果那里有不对的东西,请纠正我,并回答我的问题.

解决方法

12作为 java中的常量是一个int.

long l = 12编译的原因是它会自动扩展为long.

编辑:关于你的评论,自动扩展没有任何问题,使用任何使你的代码更清晰的东西,但只是要知道当你对原语进行数学运算时发生了什么.例如:

int i = 1213;
long l = 112321321L * i;

如果您没有将第一个数字显式地设置为long,那么long将具有非常不同的值,因为Java会将其视为整数数学,并导致溢出.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读