12

正如标题所说,有人提示我,如果我想打印一个数字数组中所有内容的总和,我应该使用上述参数进行 for 循环(如果需要进一步解释,代码将遵循) . 但是,它的确切定义是什么?我的意思是:-部分。是吗; 对于数组 tall 中的每个数字 i?

import java.util.*;

class Uke36{
    public static void main(String[]args){

    Scanner input=new Scanner(System.in);
    int[] tall=new int[5];

    for (int i=0; i<=4; i++){
        System.out.println("Vennligst oppgi det " + (i+1) + ". tallet: ");
        tall[i]=input.nextInt();
    }
    int sum = 0;
    for(int i : tall){
        sum+=;
    }
    }
}
4

7 回答 7

11

这就是for-each循环在 Java 中的表示方式。

for (int i : tall) {
  sum += i;
}

将其读作:对于i数组中的每个整数,称为tall...

于 2013-10-14T10:14:40.240 回答
2

它是增强的循环。它在 Java 5 中被引入以简化循环。你可以把它读成“ For each int in tall ”,就像写:

for(int i = 0; i < tall.length; i++)
   ...

虽然它更简单,但它不像 for 循环那样灵活.. 当你并不真正关心元素的索引时它很好。

更多阅读

于 2013-10-14T10:15:03.167 回答
2

增强的 for 循环等于

for (int i=0; i < tall.length; i++) {
    System.out.println("Element: " + tall[i]);
}

下面的表格

 for(int i : tall){

是经典 for 循环的简写形式。

笔记:

但是有一个条件可以使用上面的表格

表单语言规范

Expression 的类型必须是 Iterable 或数组类型(第 10.1 节),否则会发生编译时错误。

这里是来自 oracle 的文档

最后

 int sum = 0;
    for(int i : tall){
        sum+=;  // sum = sum+i
    }

这意味着添加数组中的所有元素。

如果是 Collection,请查看该循环如何转换:Java 中的 for-each 表达式翻译成什么?

于 2013-10-14T10:15:08.887 回答
1

for(int i : listOfInt)

这是高级(增强)for循环,也称为for-each循环,它遍历右侧提供的列表的每个元素:,将每个值迭代地分配给左侧的变量:

它基本上意味着,对于数组/数组列表中的每个元素(在您的情况下,它是一个名为 的数组tail)。

请查看此处的文档以获取更多详细信息。

于 2013-10-14T10:14:47.903 回答
1

“增强” for 循环

中间的

按顺序遍历数组的所有元素的常用方法是使用“标准”for 循环,例如,

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

所谓的增强 for 循环是做同样事情的一种更简单的方法。(语法中的冒号可以读作“in.”)

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

Java 5 中引入了增强的 for 循环,作为一种更简单的方式来遍历集合的所有元素(这些页面中不包含集合)。它也可以用于数组,就像上面的例子一样,但这不是最初的目的。

增强的 for 循环简单但不灵活。当您希望按从头到尾的顺序遍历数组元素时,可以使用它们,并且您不需要知道当前元素的索引。在所有其他情况下,应该首选“标准” for 循环。

两个额外的语句类型,break 和 continue,也可以控制增强 for 循环的行为。

复制自http://www.cis.upenn.edu/~matuszek/General/JavaSyntax/enhanced-for-loops.html

这是对所有第一次尝试在谷歌上找到答案的人的谦虚要求

于 2013-10-14T10:17:30.063 回答
0

阅读文档

for 语句还有另一种形式,用于通过集合和数组进行迭代。这种形式有时称为增强的 for 语句,可用于使您的循环更加紧凑和易于阅读。

以下程序 EnhancedForDemo 使用增强的 for 循环遍历数组:

class EnhancedForDemo {
        public static void main(String[] args){
             int[] numbers = 
                 {1,2,3,4,5,6,7,8,9,10};
             for (int item : numbers) {
                 System.out.println("Count is: " + item);
             }
        }
    }

In this example, the variable item holds the current value from the numbers array. The output from this program is the same as before:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
于 2013-10-14T10:15:52.017 回答
0

这是一个 for-each 循环

   int[] arr=new int[] {1,3,5,7,8};
   for(int i:arr){
       System.out.println(i); 
   }

输出将是

 1
 3
 5
 7
 8

但这仅适用于 JDK 1.7 及更高版本。早期的 JDK 版本支持对象类型的 for-each 循环。

并遵循类似于此 for-each 的 for 循环

    int[] arr=new int[] {1,3,5,7,8};
    for(int i=0;i<arr.length;i++){
        System.out.println(arr[i]);
    }
于 2013-10-14T10:16:47.493 回答