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会将其视为整数数学,并导致溢出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |