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

标签 java swing if-statement while-loop do-while

我有一个在循环中计数到 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 意味着循环 - 即重复执行代码。您是否注意到,如果 alternativecounter3,代码就会进入无限循环?此外,do while 的主体总是至少执行一次,因此(除了无限循环)此代码不正确。

如果您尝试有条件执行的循环代码不应该执行多次(在这里,很明显它确实不应该),使用 if声明。

<小时/>

正如其他人所说,这也是一种尝试优化代码的荒谬方法 - 它是 premature optimizationmicro-optimization在那。

关于Java Swing ;在 if 语句或 do-while 语句之间选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681079/

相关文章:

java - JOptionPane 输出文本副本

java - 如果我不调整窗口大小,为什么窗口太小?

java - 如何在 JFrame 上重叠任务栏

C++-(If 语句)Else 总是显示

java - 为什么在 Android 上使用 Java FileOutputStream 创建的文件在几次 ubs 重新连接后通过 USB 在我的电脑上可见(+最多几分钟)

java - 一点java中的类设计,一点模式?

c - if(varName) 和 if(varName!=NULL) 有什么区别?

java - 用for循环返回

java - 如何在 Android 上升级 Apache HttpClient 版本

java - 从 m 个集合中获取 n 个元素的所有不同组合