我正忙于学习证书,偶然发现了一个我从未听说过的概念-“标签声明”。例如:
‘label’:’statement’
L1: while(i < 0){
L2: System.out.println(i);
}
所以我的问题是..为什么?这有什么用?什么时候要使用这样的东西?
我知道的唯一用途是可以在break
或continue
语句中使用标签。因此,如果您有嵌套循环,则可以一次突破多个层次:
OUTER: for (x : xList) {
for (y : yList) {
// Do something, then:
if (x > y) {
// This goes to the next iteration of x, whereas a standard
// "continue" would go to the next iteration of y
continue OUTER;
}
}
}
如该示例所示,如果您以嵌套的方式一次遍历两件事(例如搜索匹配项)并想要继续进行,或者您正在执行常规迭代,但出于某种原因想要放置一个在嵌套for
循环中中断/继续。
不过,我倾向于每隔几年只使用一次。因为它们是很少使用的构造,所以它们很难理解,因为如果它们可以用另一种方式清楚地编写代码,则我将避免使用标签。
另外,是什么意思?我一直尝试使用 但是将无法工作,除非放入。
问题内容: 当我发现一段代码被一个块包围时,我正在浏览一些基本的Java对象。以下代码来自String类中的toLowerCase()方法。 有人可以解释一下该块的用途以及该语法的来源吗?除非在三元运算符中使用过,否则在Java中像这样的单词之后我还没有看到冒号。 谢谢! 编辑:更新标题以正确匹配已回答的问题。 问题答案: 在这里,只是一个标签。该语法允许人们摆脱外部循环,并模拟某种形式的语句。语
问题内容: 我看过这样的代码: 我的问题是参数名称前的标记是什么意思?这是否意味着在调用函数时必须指定参数? 此外,没有这个标记,有人能告诉我功能的不同吗?代码示例非常受欢迎。 问题答案: 更新(Swift 3。* …) 第一个参数签名的默认行为发生了巨大变化。要了解参数标签(例如“外部参数”)和参数名称(例如“局部参数”)如何工作,请阅读Apple的Swift书中的“函数参数标签和参数名称”一章
问题内容: 似乎与 使用open .. as代替f =有什么好处?只是语法糖吗?仅保存一行代码? 问题答案: 为了与语句版本等效,您编写的代码应如下所示: 虽然这看起来像语法糖,但可以确保您释放资源。通常,这个世界比这些人为的例子要复杂得多,如果您忘记了一个案例或无法处理一个极端案例,那么您将面临资源泄漏。 该语句使您免于那些泄漏,使编写干净的代码更加容易。有关完整的说明,请参阅PEP 343 ,
本文向大家介绍语句for( ;1 ;) 有什么问题?它是什么意思?相关面试题,主要包含被问及语句for( ;1 ;) 有什么问题?它是什么意思?时的应答技巧和注意事项,需要的朋友参考一下 死循环,和while(1)相同。
我对何时使用什么原语有点困惑。如果定义一个数字,如何知道使用、、或?我知道它们是不同的字节,但这是否意味着我只能对某个数字使用其中的一个呢? 所以简单地说,我的问题是,我什么时候使用上面列出的四个原语中的每一个?