【问题标题】:What is the syntax of the enhanced for loop in Java?Java中增强的for循环的语法是什么?
【发布时间】:2012-07-25 23:37:43
【问题描述】:

我被要求在我的编码中使用增强的for 循环。

我只被教过如何使用传统的for 循环,因此不知道它与增强的for 循环之间的区别。

增强的for 循环与Java 中的传统for 循环有何不同?

我应该注意哪些教程往往不会提及的复杂问题?

【问题讨论】:

  • 欢迎来到 Stack Overflow!我们鼓励您research your questions。如果您有 tried something already,请将其添加到问题中 - 如果没有,请先研究并尝试您的问题,然后再回来。
  • 虽然,如果 user1920811 已经研究过它并且在网上很容易找到答案,所以没有问这个问题,我将无法找到第二个链接所需的确切语法谷歌
  • 12 人对此表示赞同,21 人对此表示赞同。也许这应该重新开放?我认为那些与网站完全背道而驰以至于被投票关闭的问题不会得到如此积极的社区回应。
  • @BenC.R.Leggiero 14 人对此表示赞同,22 人对此表示赞同。也许这应该重新开放?我认为那些与网站完全背道而驰以至于被投票关闭的问题不会得到如此积极的社区回应。
  • 是的,请重新打开这个,user1920811 只是询问了语法。我经常发现 stackoverflow 问题包含的信息比在线发布的教程更多

标签: java foreach


【解决方案1】:

增强的for循环:

for (String element : array) {

    // rest of code handling current element
}

传统的 for 循环等效项:

for (int i=0; i < array.length; i++) {
    String element = array[i]; 

    // rest of code handling current element
}

看看这些论坛:https://blogs.oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with

http://www.java-tips.org/java-se-tips/java.lang/the-enhanced-for-loop.html

【讨论】:

  • 但是...链接不好,爸爸!最好去绞刑架,不要见你的制造者。
【解决方案2】:

增强的for 循环只是限制括号内的参数数量。

for (int i = 0; i < myArray.length; i++) {
    System.out.println(myArray[i]);
}

可以写成:

for (int myValue : myArray) {
    System.out.println(myValue);
}

【讨论】:

  • 注意:传统的for 循环还可以做得更多。增强型仅用于迭代实现Iterable 的数组或类。传统的for 循环也可用于精确循环n 次 (for(int i=0; i&lt;n; i++))、无限循环 (for(;;))、滥用功能 (for(String name="me"; conn.isOpen(); System.out.println("hello!"))) 以及许多其他此类事情。
  • 增强的 for-lops 只适用于迭代。如果您需要索引,或者想要进行 hack 和/或滥用功能,则可以使用传统的 for 循环
【解决方案3】:
  1. 增强的 For 循环 (Java)
for (Object obj : list);
  1. 在 arraylist (Java) 中为 Each 增强
ArrayList<Integer> list = new ArrayList<Integer>(); 
list.forEach((n) -> System.out.println(n)); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多