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

时间:2015-03-11 22:13:14

标签: java if-statement for-loop

当我尝试在下面构建时,我想要一个if语句,它在for循环中执行,在第一次处理时执行一项操作,而在其他时间执行其他操作。

if (true) {
    for (value i : valueList) {
        if (i = true) {
             First time do this!
             Second time onwards do this!
         }

    }
}

java中是否有允许我这样做的功能?

1 个答案:

答案 0 :(得分:8)

我总是使用一个标志,在第一个区块中取消设置以将其关闭:

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) 始终 truetrue分配给i (破坏你的循环变量的值)。

此外,外部if (true)是不必要的。