gpt4 book ai didi

Java 对 int 和其他整数类型的行为

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:41 25 4
gpt4 key购买 nike

<分区>

我编写了以下代码来测试 java 执行从 0 计数到一个巨大数字的简单任务需要多长时间:

public static void main( String[] args )
{
for( long k = 0 ; k <= 1000000000000000000L /* 18 zeros */ ; k++ )
;
System.out.println( "Finished" );
}

我运行程序并等待了几个小时。等了这么久我没办法只能引用一些计算来估计这个运行时间,简单的计算我确信程序最终打印消息可能需要100多年(取决于CPU) “完成”!

但在尝试了下面的代码(似乎与上面的代码一样多的时间才能完成)之后,我意外地看到在我运行程序后的几分之一秒内打印了消息“完成”!

public static void main( String[] args )
{
int j;
for( int i = 0 ; i <= 1000000000 /* 9 zeros */ ; i++ )
for( j = 0 ; j <= 1000000000 /* 9 zeros */ ; j++ )
;
System.out.println( "Finished" );
}

这两段代码的java行为有什么区别? java 对 int 数字的行为与其对除 int 以外的整数类型的行为之间肯定存在一些差异。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com