Java: 无限循环约定 [已关闭]
2022-09-01 00:46:01
Java中无限循环的约定是什么?我应该写还是?我个人会使用,因为我使用 while 循环的频率较低。while(true)
for(;;)
while(true)
Java中无限循环的约定是什么?我应该写还是?我个人会使用,因为我使用 while 循环的频率较低。while(true)
for(;;)
while(true)
和 之间的字节码没有区别,但我更喜欢,因为它不那么令人困惑(特别是对于Java新手)。while(true)
for(;;)
while(true)
您可以使用此代码示例进行检查
void test1(){
for (;;){
System.out.println("hello");
}
}
void test2(){
while(true){
System.out.println("world");
}
}
当你使用命令,你会得到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
它显示相同的结构(除了“hello”与“world”字符串)。
我更喜欢 ,因为我使用 while 循环的频率低于 for 循环。For 循环具有更好的用途,并且比while(true)
while(true)
for(;;)