java 中关于不定长度参数

[复制链接]
查看11 | 回复3 | 2008-12-5 11:25:42 | 显示全部楼层 |阅读模式
class MathTool{
public static int sum(int...nums){

int sum = 0;

for (int num : nums){

sum += sum;

}

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

回复

使用道具 举报

千问 | 2008-12-5 11:25:42 | 显示全部楼层
这是增强型for循环,是用来替代老版本中的迭代器的其实可变参数列表中,传递的参数就是一个数组,这个增强型for循环就是自动从头到尾遍历以此数组,迭代循环比普通的for循环速度要快...
回复

使用道具 举报

千问 | 2008-12-5 11:25:42 | 显示全部楼层
ajax_2003 说得很对,这时增强型for循环语句,传递的参数nums其实是一个数组,for(int num : nums)等价于:for(int num=0;num<nums.length;num++)...
回复

使用道具 举报

千问 | 2008-12-5 11:25:42 | 显示全部楼层
可以理解为foreach循环遍历nums并将nums的每一个值赋给num....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行