我正在学习Java,并使用for语句进行循环:
for (int i = 0; i <3; i++){
...
}
我想在每次循环运行时切换填充颜色。我不想提供太多的例子,因为我不是在寻找我的具体问题的答案,但我想知道是否有办法做到这一点?
基本上evey循环运行奇数时间,它会运行x,每运行一次,它会运行吗?
编辑:输入后,我想也许我可以用int i做一个if语句?像if i % 2 == 0 {}
之类的东西
?
PS:我在此表达我的兴奋。
答案 0 :(得分:5)
for (int i = 0; i < 3; i++) {
if(i % 2 == 0) {
//even, do Y
} else {
//odd, do X
}
}
答案 1 :(得分:4)
添加mod运算符。如果i%2 == 0那么为偶数做一些事情,否则为奇数做点什么。
答案 2 :(得分:1)
我不确定编译器如何优化该语句,我知道微优化是所有邪恶的母亲,但你可以使用布尔变量来控制你的状态:
boolean gray = false;
for(...) {
if(gray) {
} else {
}
gray != gray;
}
在现实生活中,我可能会用2来修改它,就像这里的例子一样,但总有其他选择。
答案 3 :(得分:1)
只是为了我的微优化,所以拍我徽章,以及这个问题的一整套替代方案:
for(int xa=0; xa<3; xa++) {
if((xa&0x1)==0) {
// even
}
else {
// odd
}
}