Array in method - JAVA
我在其中一个教程中看到了这段代码。
它没有任何错误,但我只是不理解代码。
有人可以指导我吗?
1 2 3 4 5 6 7 8 9 10 11 12 | int trying[] = {3,4,5,6,7}; change (trying); for(int y: trying) { System.out.println(y); } } public static void change (int x[]) { for ( int counter = 0; counter < x.length ; counter++){ x[counter] += 5; } } |
能为我解释这部分吗?
1 2 3 |
我不明白这行代码:
for (int y : trying)
Java for-Each循环语法:
1 | for(data_type variable : array | collection){} |
优点:
- 它使代码更具可读性。
在你的例子中
1 2 3 |
只是意味着int y会迭代尝试中的所有值。喜欢,
1 2 3 4 |
采集:
1 2 3 4 5 6 |
与...一样:
1 2 3 4 |
正如本文前面所讨论的那样
好的,所以尝试[]是一个整数数组。函数change()将try []作为输入,将+5作为try []中的每个整数。你问的for循环只是语法糖,可以缩短代码。
查看doc链接并尝试在eclipse或某些IDE中运行它。
1 2 3 4 |
Java文档说明
The for-each construct is also applicable to arrays, where it hides
the index variable rather than the iterator.
它是for-each循环,循环遍历数组的便捷方式,
例如,循环遍历整数数组
1 2 3 4 | for(int i=0; i<trying.length; i++) { int y = trying[i]; // stuff with y } |
或使用
1 2 3 | for( int y : trying ) { // stuff with y } |
在引擎盖后面,为任何
它说,
在尝试中为每个对象运行{...}中的代码。
数据类型是int,因为try是一个int数组。
"y"是一个变量,它保存一个对象(一次一个)。
例如,
当第一次循环时,y从数组中获取第一个值(3)并在{和}之间运行代码。然后,y从数组中获取第二个值(4)并再次运行相同的代码....依此类推。
在这种情况下,它将为尝试中的每个对象打印y值。
1 2 3 4 |
for循环中提到的数据类型必须与数组类型相同。
例如,
这称为foreach循环。所以用语言说:
对于数组"尝试"中的每个项目"y" - 做一些事情(这里:打印它)。
如果您不关心循环的频率,只是想要解决数组/集合中的每个项目,这是非常方便的。
或者,您可以在更改方法中使用"正常"for循环。
我希望我能给你想要或需要的信息。
Int
使用for循环,您可以循环遍历
然后你有第二个循环
因此,如果你的int计数器小于数组x []的长度,那么你继续通过循环盘旋。一旦计数器达到与x []相同的长度或值,则循环停止。
1 2 3 4 |
所以上面的例子真的很难,循环将继续到我尝试更大或相同的程度。
有了这些信息,你可以自己找出最后一个循环:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html