繁体   English   中英

有没有办法在for语句中切换变量?

[英]Is there a way to toggle variables in for statement?

我正在学习Java,并将此语句用于循环:

for (int i = 0; i <3; i++){ 
...
}

我想在每次循环运行时切换填充颜色。 我不想提供太多的例子,因为我不是在寻找我的具体问题的答案,但我想知道是否有办法这样做?

基本上evey循环运行奇数时间,它会运行x,每运行一次,它会是吗?

编辑:输入后,我想也许我可以用int i做一个if语句? if i % 2 == 0 {}

PS:我在此表达我的兴奋。

for (int i = 0; i < 3; i++) { 
    if(i % 2 == 0) {
        //even, do Y
    } else {
        //odd, do X
    }
}

添加一个mod运算符。 如果i%2 == 0那么为偶数做一些事情,否则做一些奇怪的事情。

我不确定编译器如何优化该语句,我知道微优化是所有邪恶的母亲,但你可以使用布尔变量来控制你的状态:

boolean gray = false;
for(...) {
    if(gray) {
    } else {
    }
    gray != gray;
}

在现实生活中,我可能会将它改为2,就像这里的例子一样,但总有其他选择。

只是为了我的微优化,所以拍我徽章,以及这个问题的一整套替代方案:

for(int xa=0; xa<3; xa++) { 
    if((xa&0x1)==0) {
        // even
        }
    else {
        // odd
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM