Java Swing;在if语句还是do-while语句之间选择?

| 我有一个循环计数到4的计数器。 并计数其中有多少个循环已通过。 在我下面的代码中,两个标签将setVisibility设置为true时计数为1。 但我希望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
,则代码进入无限循环?此外,“ 1”的主体始终至少执行一次,因此(无穷循环)此代码不正确。 如果要循环执行的代码不应多次执行(在这里,很明显它实际上不应该执行),请使用
if
语句。 就像其他人所说的那样,这也是尝试优化代码的荒谬方法-它是过早的优化和微优化。     
您编写的代码将不会执行do / while,否则将导致无限循环。不用担心效率问题,请努力使此代码易于阅读和正确。     
事件侦听器应仅处理一个事件。因此,在发生事件时,您要检查变量的状态,然后进行相关处理。 因此,您永远不会使用do / while。实际上,在您发布的代码中,您已经引入了无限循环。此无限循环将反过来冻结GUI,因为它将无法响应其他事件。     

要回复问题请先登录注册