与 while 循环一起使用的未知运算符 [冒号] java

Unknown operator [colon] used with while loop java

在浏览一些源代码时,我注意到 while 循环中使用了一个奇怪的运算符

topLoop: while(dist < 0){ random code... }

在这种情况下,'topLoop:' 是什么意思?它究竟对 while 做了什么? p.s。 topLoop 只是前面在代码中定义的一个 int。

冒号不是运算符。 topLoop: 称为 label。例如,您可以使用它直接从嵌套循环跳转到外部循环之外。

循环内某处可能有一个您没有显示的 break topLoop; 语句。这将使执行跳转到 topLoop 标签。

标签在实践中很少使用,在我看来使用标签是不好的做法 - 它们是一种 goto statement, and using them can quickly make your code a hard to understand, tangled mess.

p.s. topLoop is just a int defined earlier on in the code.

也许代码中有一个名为topLoop的变量,但这与碰巧具有相同名称的标签无关。