java - 有条件的内部 for 循环还是大量的 for 循环?

标签 java for-loop conditional

我试图让我的代码在 for 循环中针对不同的 i 值以不同的方式工作,但我不知道我是应该让条件进入循环内部还是只创建多个 for 循环以提高速度。

我的英语在解释事情时似乎效率很低,所以这里有一个例子:

for (int i = 1; i < 31; i++) {
    if (i < 11) {
        System.out.println(3*i);
    } else if (i<21) {
        System.out.println(2*i);
    } else System.out.println(i);
}

for (int i = 1; i < 11; i++) System.out.println(3*i);
for (int i = 11; i < 21; i++) System.out.println(2*i);
for (int i = 21; i < 31; i++) System.out.println(i);

如果也能解释其中一个可能更好或不更好的原因,那将非常有帮助。提前谢谢你:>

最佳答案

提高速度不应该是一个考虑因素。差异(如果有的话)可以忽略不计。

您应该选择更具可读性的版本。当使用 for 循环时,通常意味着您希望执行相同的操作 N 次。在您的情况下,您想执行 3 个不同的操作,每个操作的次数不同(或 i 的不同值)。因此,有 3 个循环更有意义。

for (int i = 1; i < 11; i++) {
    System.out.println(3*i);
}
for (int i = 11; i < 21; i++) {
    System.out.println(2*i);
}
for (int i = 21; i < 31; i++) {
    System.out.println(i);
}

关于java - 有条件的内部 for 循环还是大量的 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48300190/

相关文章:

PHP - 使用 if 条件重定向到不同的页面

java - 在 REST 调用上使 Java 服务器保持 DCOM 对象处于 Activity 状态

java - 在 JSpinner 上格式化日期

java - 我应该使用 for 循环还是 If 条件

javascript - for 循环中生成的警报太多

r - 将第二次出现在 R 的列中

java - 为什么我的 jSTL <c :if test ="(should be true)"> returning even the false items?

java - 如何将多个 "record sets"从 HTML 表单 POST 到 JSP 或 Java Servlet?

java - 将嵌套的 foreach 循环转换为流

conditional - Julia:条件语句可以评估同一行的代码吗?