Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在数组中循环并在第一次匹配后执行不同的操作?_Java_If Statement_For Loop - Fatal编程技术网

Java 在数组中循环并在第一次匹配后执行不同的操作?

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中是否有一个函数允许我这样做?我一直使用一个标志,它在第一个

正如我在下面尝试构造的那样,我希望在for循环中执行的if语句在第一次处理时做一件事,每隔一次做一件事

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啊,在我的程序中,我只是错误地将它翻译到这里。谢谢。@CHill
if(i)
if(i==true)