Java 在数组中循环并在第一次匹配后执行不同的操作?
正如我在下面尝试构造的那样,我希望在for循环中执行的if语句在第一次处理时做一件事,每隔一次做一件事Java 在数组中循环并在第一次匹配后执行不同的操作?,java,if-statement,for-loop,Java,If Statement,For Loop,正如我在下面尝试构造的那样,我希望在for循环中执行的if语句在第一次处理时做一件事,每隔一次做一件事 if (true) { for (value i : valueList) { if (i = true) { First time do this! Second time onwards do this! } } } java中是否有一个函数允许我这样做?我一直使用一个标志,它在第一个
if (true) {
for (value i : valueList) {
if (i = true) {
First time do this!
Second time onwards do this!
}
}
}
java中是否有一个函数允许我这样做?我一直使用一个标志,它在第一个块中被取消设置以关闭它:
boolean first = true;
for ( value i : valueList ) {
if ( i ) {
if (first) {
// First time do this!
first = false;
} else {
// Second time onwards do this!
}
}
}
注意:我删除了错误赋值if(I=true)
,它总是true
,并将true
赋值给I
(关闭循环变量的值)
另外,外部
if(true)
是不必要的。这是最好的方法,但我一直讨厌它。一种有明确结构的语言会很有趣。这正是我想要的!非常感谢。我倾向于忽略和过度思考这些简单的解决方案。@cruncher我同意。这个构造在lambdas处理流中变得如此丑陋,我不想麻烦,回到Java7loop@Bohemian我的导师昨天也向我指出了这一点!非常感谢。在我的代码中最初是i==true,但意识到如果(i)也可能是这样。作为一个注释(i=true)将i设置为=true,您需要使用(i==true来检查i是否等于true)@yitzih啊,在我的程序中,我只是错误地将它翻译到这里。谢谢。@CHillif(i)
比if(i==true)