我有一个在循环中计数到 4 的计数器,以及一个计算已经通过了多少个循环的计数器。
在下面的代码中,两个标签在计数 1 时将 Visibility 设置为 true。 但我希望 label1 出现在计数 1 处,label2 出现在计数 2 处。
我向你提出的问题是:
更有效的是,仅使用 if 语句设置标签可见性,或者 我可以多次使用 do-while 语句吗?
class counters2 implements ActionListener
{
int count = 0, alternativecounter = 0;
public void actionPerformed(ActionEvent e)
{
int fakeSecond = (count++ % 4) + 1;
if(fakeSecond == 1)
{
alternativecounter += 1;
if(alternativecounter == 3)
{
do
{
label1.setVisible(true);
}while(count == 1);
do
{
label2.setVisible(true);
}while(count == 2);
}
}
}
}
最佳答案
do while
意味着循环 - 即重复执行代码。您是否注意到,如果 alternativecounter
为 3
,代码就会进入无限循环?此外,do while
的主体总是至少执行一次,因此(除了无限循环)此代码不正确。
如果您尝试有条件执行的循环代码不应该执行多次(在这里,很明显它确实不应该),使用 if
声明。
正如其他人所说,这也是一种尝试优化代码的荒谬方法 - 它是 premature optimization和 micro-optimization在那。
关于Java Swing ;在 if 语句或 do-while 语句之间选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681079/