leehuahua
2015-05-25 22:03
// 定义一个整型数组,保存成绩信息
int[] scores = { 89, 72, 64, 58, 93 };
Arrays.sort(scores);
// 对Arrays类对数组进行排序
// 使用foreach遍历输出数组中的元素
for(int score:scores){ ///// *************这里括号里的的第一个是score 而不是scores 可是定义的是 /////////// *****************scores 没有定义score
System.out.println(score);
}
就是说这个是一个新的方法
楼上的@Perona已经回答的很详细了
我再补充一点。
你的问题所在是完全没有了解for each的用法。
for(int score:scores)这个方法第二个参数一般用来接收一个数组或者集合的对象。 第一个参数这是这个数组或者集合中元素的类型。
用通俗的语言解释就是。首先或者scores这个变量中第一个元素的值。赋值给score。然后在for循环中可对score进行操作。
而scores和score则是变量名。是自定义的。
如果我告诉你,这个变量名是自定义的,你会不会好失望~~~但是我还是要深深的毫不留情得告诉你,没错这个就是随便取的。
如把数组名改成score,把变量名改为i
代码如下:
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { // 定义一个整型数组,保存成绩信息 int[] score = { 89, 72, 64, 58, 93 }; // 对Arrays类对数组进行排序 Arrays.sort(score); // 使用foreach遍历输出数组中的元素 for ( int i:score ) { System.out.println(i); } } }
也可以把变量名改为J,
代码如下
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { // 定义一个整型数组,保存成绩信息 int[] score = { 89, 72, 64, 58, 93 }; // 对Arrays类对数组进行排序 Arrays.sort(score); // 使用foreach遍历输出数组中的元素 for ( int j:score ) { System.out.println(j); } } }
有没有发现,效果都一样~~~~
值得注意的是这种foreach循环在编译的时候会强制检查数组对象类型是否是int类型,如果不是会报编译错误。
有兴趣就去看一下JDK1.5的新特性泛型foreach循环。
如果定义的是 上面定义的是 int score[]={89,72,64,58,93};
下面的foreach怎么写
Java入门第一季(IDEA工具)升级版
1165623 学习 · 17587 问题
相似问题