Java 计数循环
我有一个巨大的动画循环来控制视频游戏的程序。我有一个if语句,它被执行了好几次,因为一旦它是真的,它就会因为循环而继续执行。我需要这个语句只执行一次。我知道解决这个问题的一种方法是用一个整数变量作为计数器,但我想知道是否还有其他方法可以解决这个问题 你说一旦这是真的,它就会继续被执行。当您不想再执行此Java 计数循环,java,loops,if-statement,Java,Loops,If Statement,我有一个巨大的动画循环来控制视频游戏的程序。我有一个if语句,它被执行了好几次,因为一旦它是真的,它就会因为循环而继续执行。我需要这个语句只执行一次。我知道解决这个问题的一种方法是用一个整数变量作为计数器,但我想知道是否还有其他方法可以解决这个问题 你说一旦这是真的,它就会继续被执行。当您不想再执行此if语句时,请将其设置为false,如果无法执行,请设置某种布尔值标志。您可以使用。伪码 set flag = false for(var1 == var2) ...//do whatever
if
语句时,请将其设置为false
,如果无法执行,请设置某种布尔值
标志。您可以使用。伪码
set flag = false
for(var1 == var2)
...//do whatever you do in loop
if(flag)
continue
if(var3 == var4)
set flag = true
...//do whatever in if statment
end for loop
或者
set flag = false
for(var1 == var2)
...//do whatever you do in loop
if(var3 == var4 AND !flag)
set flag = true
...//do whatever in if statment
end for loop
这是因为它是一个昂贵的if语句吗?您可以尝试添加短路逻辑:
for(...)
{
if(flag == false && ...)
{
flag = true;
}
}
如果您担心做比较的性能。。。您可以将其分为两个循环。一个用于条件为假时,第二个用于条件为真时
我想一些编译器优化可能已经解决了这个问题。让if语句检查具体的数字,如
for(i=0;i<10000;i++) {
if(i==345) {
// do something...
}
}
用于(i=0;i请提供一些示例代码。@Tim看起来他不想打破循环,只要在条件变为真时执行if
的内容,然后继续循环。EDIT:但是,听起来你可能是从错误的角度来处理这个问题,如果你发布一些代码,我们可以帮助你我明白了。好吧,现在这个问题(有点)更有意义了。