Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java中有int类型?_Java - Fatal编程技术网

为什么Java中有int类型?

为什么Java中有int类型?,java,Java,为什么Java中有int类型?唯一的数字类型不能是double(可能是float)?出于性能考虑和内存节省,您可以在double类型的变量中保留任何整数。。此外,数字是精确的,没有小数点,这一事实在很多情况下都非常方便。如果必须输入计划生育的子女数量,您认为需要小数点,还是自然数(没有小数点)就足够了?除此之外,还有性能方面的原因。浮点和双精度还有很多整数所没有的精度问题。为什么还要使用Java呢?直接转到机器代码。除了斯图尔图斯克的评论外,浮点算术有点像噩梦“你可以在double类型的变量中保

为什么Java中有int类型?唯一的数字类型不能是double(可能是float)?出于性能考虑和内存节省,您可以在double类型的变量中保留任何整数。

。此外,数字是精确的,没有小数点,这一事实在很多情况下都非常方便。

如果必须输入计划生育的子女数量,您认为需要小数点,还是自然数(没有小数点)就足够了?除此之外,还有性能方面的原因。浮点和双精度还有很多整数所没有的精度问题。为什么还要使用Java呢?直接转到机器代码。除了斯图尔图斯克的评论外,浮点算术有点像噩梦“你可以在double类型的变量中保留任何整数。”——试着比较
(double)5_000_000_000_0000; l
(double)4_999_999_999_999; l
,看看你为什么错了。不,不是为了这个。整数和浮点数本质上是不同的。但是,如果我将一个没有十进制数字的数字保留在一个双精度值中,我想对这类变量的所有计算精度不会低于该变量为双精度时的精度?@user983447
double
使用52位作为尾数,而
long
使用所有64位作为整数。虽然您的数字不是很大,但计算(并非所有计算)将是准确的。当它们变大时,你会得到错误的结果。例如,
(double)5_000_000_000_000_000L==((double)5_000_000_000_000_000L+1)
将返回
true