20180305-java foreach

原文链接:http://blog.csdn.net/qq_22195761/article/details/70313837

foreach总结:

  foreach是java5的新特性,有人说是抄袭C#的,我也不太清楚,反正会用就行了,主要增强了for循环,在遍历数组和集合上面很方便。

foreach是for循环的简化版本,但是foreach不能完全取代for循环,然而任何foreach都可以改写为for循环,foreach不是一个关键字,主要就是这个格式,每一个for的意思。

 

foreach语句格式:

  for(元素类型type  元素变量value : 遍历对象obj) { 

    引用x的java语句;  

}

 

下面看几段代码,看看foeeach的强大和简便:

 

复制代码
  1 package cn.zpoor;
  2 
  3 import java.util.List;
  4 import java.util.ArrayList;
  5 import java.util.Arrays;
  6 
  7 /**
  8  * @author 薛定谔的猫
  9  * foreach遍历数组和集合*/
 10 public class TestArray {
 11 
 12     public void initArray() {
 13         //定义并且初始化一个数组
 14         int arr[] = {2,5,3};
 15         System.out.println("-----排序前的一维数组:");
 16         for(int x:arr) {
 17             System.out.print(x + " ");//foreach循环逐个输入数组元素的值
 18         }
 19         System.out.println();
 20         
 21         //数组冒泡排序
 22         Arrays.sort(arr);
 23         //foreach输出排序之后的数组元素
 24         System.out.println("-----排序后的一维数组:");
 25         for(int x:arr) {
 26             System.out.print(x+" ");
 27         }
 28         System.out.println();
 29     }
 30     
 31     //集合转换成数组
 32     public void listToArray() {
 33         //创建list并且添加元素
 34         List<String> list = new ArrayList<String>();
 35         list.add("1");
 36         list.add("2");
 37         list.add("5");
 38         
 39         //foreach循环输出集合元素
 40         System.out.println("-----foreach输出集合元素");
 41         for(String x:list) {
 42             System.out.println(x+ " ");
 43         }
 44         System.out.println();
 45         
 46         //把ArrayList转换成数组
 47         Object[] obj = list.toArray();
 48         System.out.println("-----foreach输出集合转换而来的数组元素");
 49         for(Object x:obj) {
 50             System.out.print(x.toString()+ " ");//逐个输出数字元素的值
 51         }
 52         System.out.println();
 53     }
 54     
 55     //foreach输出二维数组
 56     public void twoDimensionArray() {
 57         int arr[][] = {{1,2},{3,4}};
 58         System.out.println("-----foreach输出二维数组");
 59         for(int[] x:arr) {
 60             for(int e:x) {
 61                 System.out.print(e+ " ");//逐个输出数组元素,多维数组的本质就是没有多维数组
 62             }
 63         }
 64         System.out.println();
 65     }
 66     
 67     //foreach输出三维数组
 68     public void threeDimensionArray() {
 69         int arr[][][] = {
 70                 {{1,2},{3,4}},
 71                 {{5,6},{7,8}}
 72         };
 73         
 74         System.out.println("-----foreach输出三维数组");
 75         for(int[][] x:arr) {
 76             for(int[] y:x) {
 77                 for(int z:y) {
 78                     System.out.print(z + " ");//三重循环,有点作死
 79                 }
 80             }
 81         }
 82     }
 83     
 84     public static void main(String[] args) {
 85         TestArray test = new TestArray();
 86         test.initArray();
 87         test.listToArray();
 88         test.twoDimensionArray();
 89         test.threeDimensionArray();
 90     }
 91 }
 92 
 93 /*-----排序前的一维数组:
 94 2 5 3 
 95 -----排序后的一维数组:
 96 2 3 5 
 97 -----foreach输出集合元素
 98 1 
 99 2 
100 5 
101 
102 -----foreach输出集合转换而来的数组元素
103 1 2 5 
104 -----foreach输出二维数组
105 1 2 3 4 
106 -----foreach输出三维数组
107 1 2 3 4 5 6 7 8 
108 */

转载于:https://www.cnblogs.com/nan-lu/p/8510743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值