JDK5.0新特性系列---2.新的for循环

简介: import java.util.ArrayList; import java.util.List;   /**  * 新的for循环,格式为for(type x:type y)  * 表示遍历数组或集合y的元素,把元素值赋给x  */ public class ForEach ...

 

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));

       }

}

 

 

 

 

 

 

 

 

目录
相关文章
|
3月前
|
容器
jdk8新特性-详情查看文档
jdk8新特性-详情查看文档
46 3
|
2月前
|
存储 安全 Java
JDK1.8 新的特性
JDK1.8 新的特性
21 0
|
3月前
|
编解码 安全 Java
jdk8新特性-接口和日期处理
jdk8新特性-接口和日期处理
|
4月前
|
Java API
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
|
4月前
|
Java API Apache
JDK8到JDK24版本升级的新特性问题之在Java中,HttpURLConnection有什么局限性,如何解决
JDK8到JDK24版本升级的新特性问题之在Java中,HttpURLConnection有什么局限性,如何解决
|
4月前
|
Oracle Java 关系型数据库
JDK8到JDK29版本升级的新特性问题之未来JDK的升级是否会成为必然趋势,如何理解
JDK8到JDK29版本升级的新特性问题之未来JDK的升级是否会成为必然趋势,如何理解
|
4月前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
3月前
|
Java 编译器 API
JDK8新特性--lambda表达式
JDK8的Lambda表达式是Java语言的一大进步。它为Java程序提供了更多的编程方式,让代码更加简洁,也让函数式编程的概念在Java中得到了体现。Lambda表达式与Java 8的其他新特性,如Stream API、新的日期时间API一起,极大地提高了Java编程的效率和乐趣。随着时间的流逝,Java开发者对这些特性的理解和应用将会越来越深入,进一步推动Java语言和应用程序的发展。
15 0
|
4月前
|
算法 Java iOS开发
JDK8到JDK27版本升级的新特性问题之JDK 17中G1在资源占用方面有何变化
JDK8到JDK27版本升级的新特性问题之JDK 17中G1在资源占用方面有何变化
|
4月前
|
XML JSON Java
JDK8到JDK26版本升级的新特性问题之在JDK 13中,字符串文本块改进字符串嵌入是如何实现的
JDK8到JDK26版本升级的新特性问题之在JDK 13中,字符串文本块改进字符串嵌入是如何实现的