java 中关于不定长度参数

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:40:43
class MathTool{
public static int sum(int...nums){
int sum = 0;
for (int num : nums){
sum += sum;
}
return sum;
}
}

上面这段代码中,for(int num : nums)这段是什么意思啊?这跟一般的for循环有什么不同?

这是增强型for循环,是用来替代老版本中的迭代器的
其实可变参数列表中,传递的参数就是一个数组,这个
增强型for循环就是自动从头到尾遍历以此数组,迭代循环
比普通的for循环速度要快

我还想知道int...nums是什么意思。。

nums是传入的一个int型的整数,如果是6的话

for(int num : nums) 效果等于

for(int num;num<nums;num++)

和一般的for循环没啥区别 jdk1.5支持的写法,主要就是写法简单 :)

int...nums 应该是你复制的时候带的... 其实应该是int nums :)

哦,长见识了…………

可以理解为foreach循环
遍历nums并将nums的每一个值赋给num.

ajax_2003 说得很对,这时增强型for循环语句,传递的参数nums其实是一个数组,for(int num : nums)等价于:for(int num=0;num<nums.length;num++)