Java Swing;选择if语句还是do while语句?

Java Swing;选择if语句还是do while语句?,java,swing,if-statement,while-loop,do-while,Java,Swing,If Statement,While Loop,Do While,我有一个计数器,它在一个循环中计数到4,还有一个计数器,它计算这些循环中有多少已经通过 在下面的代码中,两个标签在计数1时都将可见性设置为true。 但是我希望label1出现在计数1,label2出现在计数2 我的问题是: 更有效的方法是使用only if语句设置标签的可见性,或者 我可以多次使用do while语句吗 class counters2 implements ActionListener { int count = 0, alternativecounter = 0;

我有一个计数器,它在一个循环中计数到4,还有一个计数器,它计算这些循环中有多少已经通过

在下面的代码中,两个标签在计数1时都将可见性设置为true。 但是我希望label1出现在计数1,label2出现在计数2

我的问题是:

更有效的方法是使用only 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,要么会导致无限循环。不要担心效率,努力使代码可读性和正确性。

事件侦听器应该只处理单个事件。因此,在事件发生时,检查变量的状态,然后进行相关处理

所以你永远不会使用do/while。事实上,在您发布的代码中,您引入了一个无限循环。这个无限循环将反过来冻结GUI,因为它将无法响应其他事件。

一段时间用于循环,即重复执行代码。您是否注意到,如果alternativecounter为3,代码将进入无限循环?此外,do while的主体始终至少执行一次,因此该代码的无限循环是不正确的

如果您试图有条件地执行的循环代码不应该执行多次,那么很明显,它确实不应该执行,请使用If语句


正如其他人所说,这也是一种试图优化代码的荒谬方式——事实就是如此。

不确定您想做什么,但如果count等于代码中的一个或两个,则do while循环中的一个将是无限的。如果您和其他人这样说,我很抱歉,我很想学习,并且真的很想知道这一点。感谢你的时间和回答