do-while
次のループを見てみましょう。それは非常に明白であり、それについては疑問の余地はありません。
do
{
System.out.println("Hello world");
break;
} while(false);
これは非常に明白であり、文字列Helloworldをコンソールに表示して終了します。
さて、次のバージョンはdo-while
無限ループに陥っているようですが、そうではありません。また、文字列Hello worldをコンソールに表示し、サイレントに終了します。
do
{
System.out.println("Hello world");
continue;
} while(false);
do-while
次のようなラベルが付いたのさらに別のバージョンを見てみましょう。
label:do
{
System.out.println("Hello world");
continue label;
} while(false);
また、コンソールにHelloworldというメッセージが表示されて終了します。このシナリオのすべてのバージョンがある程度同じように機能することを意味しているように見えるかもしれないので、これは無限ループではありません。どのように?