为什么Java将我的长变量称为int?
我正在运行这个,我将为什么Java将我的长变量称为int?,java,types,for-loop,Java,Types,For Loop,我正在运行这个,我将I从int改为float,以测试我的机器的潜力:-): 它说的是“整数”,意思是一个长整数?但是9100080000不是很适合吗?2^63是9223372036854775808。任何提示,谢谢 不是变量是int,而是要与之进行比较的文本。你只需要: i < 9100080000L i
I
从int改为float,以测试我的机器的潜力:-):
它说的是“整数”,意思是一个长整数?但是9100080000不是很适合吗?2^63是9223372036854775808。任何提示,谢谢 不是变量是int
,而是要与之进行比较的文本。你只需要:
i < 9100080000L
i<9100080000L
编译器不会在确定文本类型的过程中使用“您对文本所做的事情”,也不会根据值更改文本的类型(与C不同,9100080000
会隐式键入为long
,因为它对于int
来说太大)
从:
如果整型文字以ASCII字母L或L(ell)作为后缀,则其类型为long;否则为int型(§4.2.1)
int类型的最大十进制文本为2147483648(231)
从0到2147483647的所有十进制文字都可能出现在int文字可能出现的任何位置
如果int类型的十进制文字大于2147483648(231),或者十进制文字2147483648出现在一元减号运算符的操作数以外的任何位置(§15.15.4),则为编译时错误
请注意,虽然
L
和L
都可以工作,但为了清晰起见,我始终建议使用L
,否则它看起来很像1
,具体取决于您的字体。9100080000
是一个常规整数常量,超出了范围。要使其成为一个长整数常量,使其在范围内,您可以附加L
或L
:
for(long i=0; i< 9100080000L; i++){
for(长i=0;i<9100080000L;i++){
在数字中添加“l”。java中的默认数字为整数。
对于(长i=0;i<9100800000l;i++){
Object obj=新对象();
}您需要将9100080000设置为长 例如:
for (long i = 0; i < 9100080000L; i++)
{
// do something - note the 9100080000L
}
for(长i=0;i<9100080000L;i++)
{
//做点什么-注意9100080000L
}
int是32位的数据类型,而long是64位的数据类型。@Aquillo-Ah-Ok会尝试的,谢谢!耶!现在它可以工作了!虽然l
可以工作,但最好使用l
,因为它更容易与1
区分开来。
for(long i=0; i< 9100080000L; i++){
for (long i = 0; i < 9100080000L; i++)
{
// do something - note the 9100080000L
}