在for循环中,(int i:tall)做什么,其中tall是int 的数组

正如标题所说,有些人向我倾斜,如果我想在数组中打印所有内容的总和,我应该使用上述参数进行for循环(如果需要进一步说明,代码将会跟随) 。 但究竟是什么确定了什么呢? : – 我的意思是。 是吗; 对于arrays中的每个数字我都很高?

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+=; } } } 

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

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

基本上,这里说:

 For each integer i in the array called **tall** ... 

它是增强的循环 。 它在Java 5中引入以简化循环。 你可以把它读成“ 对于int每个int ”,这就像写作:

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

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

更多阅读 。

增强的循环等于

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

以下表格

  for(int i : tall){ 

短手是否形成经典的for循环。

注意:

但是有条件使用上述forms

表单语言规范

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

这里是来自oracle的文档

最后

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

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

如果是Collection,请查看该循环如何转换: 什么是Java中的每个表达式转换为?

for(int i : listOfInt)

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

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

有关详细信息,请查看此处的文档 。

循环“增强”

中间

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

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

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

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

增强的for循环在Java 5中引入,作为迭代Collection的所有元素的简单方法(这些页面中未涵盖集合)。 它也可以用于数组,如上例所示,但这不是最初的目的。

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

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

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

对于所有首先尝试在谷歌上找到答案的人来说,这是一个谦逊的要求

阅读文档 :

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 

这是一个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版本支持 – 具有Object类型的每个循环。

并跟随for循环类似于for-each

  int[] arr=new int[] {1,3,5,7,8}; for(int i=0;i