JDK5.0新特性系列-2.新的for循环
JDK5.0新特性系列---2.新的for循环
import java.util.ArrayList; import java.util.List; /** * 新的for循环,格式为for(type x:type y) * 表示遍历数组或集合y的元素,把元素值赋给x */ public class ForEach { /**对整数数组求和*/ public static long getSum(int[] nums) throws Exception{ if(nums == null) throw new Exception("错误的参数输入,不能为null!"); long sum = 0; //依次取得nums元素的值并累加 for(int x : nums){ sum += x; } return sum; } /**对整数列表求和*/ public static long getSum(List<Integer> nums) throws Exception{ if(nums == null) throw new Exception("错误的参数输入,不能为null!"); long sum = 0; //可以与遍历数组一样的方式遍历列表 for(int x:nums){ sum += x; } return sum; } /**求多维数组的平均值*/ public static int getAvg(int[][] nums) throws Exception{ if(nums == null) throw new Exception("错误的参数输入,不能为null!"); long sum = 0; long size = 0; //对于二维数组,每个数组元素都是一维数组 for(int[] x : nums){ //一维数组中的元素才是数字 for(int y : x){ sum += y; size ++; } } return (int)(sum/size); } public static void main(String[] args)throws Exception{ int[] nums = {456,23,-739,163,390}; List<Integer> list_I = new ArrayList<Integer>(); for(int i = 0; i < 5; i++){ list_I.add(nums[i]); } System.out.println(getSum(nums)); System.out.println(getSum(list_I)); int[][] numss = {{1,2,3},{4,5,6},{7,8,9,10}}; System.out.println(getAvg(numss)); } }