Java Swing;选择if语句还是do-while语句?
我有一个计数器,至少有4个循环。 和一个计数器来计算这些循环已经通过了多少。Java Swing;选择if语句还是do-while语句?
在我的代码都标签setVisibility为true低于计数1 但我想LABEL1以计数的计数1和label2出现2
我对你的问题是;
什么是更有效的,设置只有if语句的可见性标签,或 我可以多次使用do-while语句吗?书面如果它要么不执行DO /时,或导致无限循环
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);
}
}
}
}
A do while
指的是环 - 即重复执行代码。你有没有注意到,如果alternativecounter
是3
,代码进入无限循环?此外,do while
的主体是总是至少执行一次,所以(无限循环放在一边)这段代码是不正确的。
如果要尝试有条件地执行的代码不应该多次执行(并且在这里,很明显它确实不应该),使用if
语句。
正如其他人所说,这也是尝试优化代码荒谬的方式 - 这是premature optimization和micro-optimization在那。
好吧,如果你和其他人这么说,我很抱歉,我很想学习,并真的想知道这件事。感谢您的时间和答案 – Opoe 2011-04-15 19:04:02
事件侦听器应该只处理单个事件。因此,在事件发生时您检查变量的状态,然后执行相关处理。
所以你永远不会使用do/while。事实上,在你的发布代码中,你已经引入了一个无限循环。这个无限循环会反过来冻结GUI,因为它无法响应其他事件。
不知道你在做什么,但是如果'count'等于你的代码中的一个或两个,你的do-while循环中的一个将是无限的。 – eaj 2011-04-15 18:54:16