Java:1d是什么?

Java:1d是什么?,java,double,Java,Double,在Java上遇到以下表达式,我不知道“1d”是什么意思(r是一个整数)。还有长打、双打。。。它们是什么?它们的用途是什么 double y = r / (Integer.MAX_VALUE + 1d); 谢谢 Sufixd数字后表示double,Sufixf表示float 您可以用八种方式来表达双文本:1.0,1d,1d,1.0d,1.,1.d,1.d,而不是真正的双文本:(double)1。在最后一个示例中,1是文本,它是一个int,但我将其转换为double 在表达式中:double y=

在Java上遇到以下表达式,我不知道“1d”是什么意思(
r
是一个整数)。还有长打、双打。。。它们是什么?它们的用途是什么

double y = r / (Integer.MAX_VALUE + 1d);

谢谢

Sufix
d
数字后表示
double
,Sufix
f
表示
float

您可以用八种方式来表达双文本:
1.0
1d
1d
1.0d
1.
1.d
1.d
,而不是真正的双文本:
(double)1
。在最后一个示例中,
1
是文本,它是一个
int
,但我将其转换为
double


在表达式中:
double y=r/(Integer.MAX_值+1d)括号增加了表达式的优先级,因此将首先计算
(Integer.MAX_值+1d)
,因为这是
intValue+doubleValue
结果将是
double
类型,所以
r/(Integer.MAX_值+1d)
也将是
double

它是
double
文本。。。。为了避免整数除法。相当于casting then?是1.0的缩写,它意味着双精度
1f
会做同样的事情,只是它是单精度的。否。它不会被铸造,它最初会创建一个双值,就像
1.0