在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