Jus*_*tin 39 java conventions infinite-loop
Java中无限循环的约定是什么?我应该写while(true)还是for(;;)?我个人会使用,while(true)因为我经常使用while循环.
Psh*_*emo 79
有一个在字节码之间没有差异while(true)和for(;;),但我更喜欢while(true),因为它是减少混乱(特别是对于一个新到Java).
您可以使用此代码示例进行检查
void test1(){
for (;;){
System.out.println("hello");
}
}
void test2(){
while(true){
System.out.println("world");
}
}
Run Code Online (Sandbox Code Playgroud)
当你使用命令时,javap -c ClassWithThoseMethods你会得到
void test1();
Code:
0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #21 // String hello
5: invokevirtual #23 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: goto 0
void test2();
Code:
0: getstatic #15 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #31 // String world
5: invokevirtual #23 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: goto 0
Run Code Online (Sandbox Code Playgroud)
它显示相同的结构("hello"vs"world"字符串除外).
06n*_*amt 13
我更喜欢while(true),因为我使用while循环的次数少于循环.For循环有更好的用途,while(true)更清晰,易读for(;;)
| 归档时间: |
|
| 查看次数: |
80855 次 |
| 最近记录: |