java中foreach循环

java中foreach循环foreach 语句是 java5 的新特征之一 在遍历数组 集合方面 foreach 为开发人员提供了极大的方便 foreach 语句是 for 语句的特殊简化版本 但是 foreach 语句并不能完全取代 for 语句 然而 任何的 foreach 语句都可以改写为 for 语句版本 foreach 并不是一个关键字 习惯上将这种特殊的 for 语句格式称之为 foreach 语句 从英文字面意思理解 foreach 也

 } / * foreach语句输出一维数组 */ public void test1() { //定义并初始化一个数组 int arr[] = {2, 3, 1}; System.out.println("----1----排序前的一维数组"); for (int x : arr) { System.out.println(x); //逐个输出数组元素的值 } //对数组排序 Arrays.sort(arr); //利用java新特性for each循环输出数组 System.out.println("----1----排序后的一维数组"); for (int x : arr) { System.out.println(x); //逐个输出数组元素的值 } } / * 集合转换为一维数组 */ public void listToArray() { //创建List并添加元素 List 
  
    list = new ArrayList 
   
     (); list.add("1"); list.add("3"); list.add("4"); //利用froeach语句输出集合元素 System.out.println("----2----froeach语句输出集合元素"); for (String x : list) { System.out.println(x); } //将ArrayList转换为数组 Object s[] = list.toArray(); //利用froeach语句输出集合元素 System.out.println("----2----froeach语句输出集合转换而来的数组元素"); for (Object x : s) { System.out.println(x.toString()); //逐个输出数组元素的值 } } / * foreach输出二维数组测试 */ public void testArray2() { int arr2[][] = { 
    {4, 3}, {1, 2}}; System.out.println("----3----foreach输出二维数组测试"); for (int x[] : arr2) { for (int e : x) { System.out.println(e); //逐个输出数组元素的值 } } } / * foreach输出三维数组 */ public void testArray3() { int arr[][][] = { { 
    {1, 2}, {3, 4}}, { 
    {5, 6}, {7, 8}} }; System.out.println("----4----foreach输出三维数组测试"); for (int[][] a2 : arr) { for (int[] a1 : a2) { for (int x : a1) { System.out.println(x); } } } } 
    
  
public static void main(String args[]) { //定义一个一维数组 int arr[] = new int[4]; System.out.println("----未赋值前输出刚刚定义的数组----"); for (int x : arr) { System.out.println(x); } //通过索引给数组元素赋值 System.out.println("----通过循环变量给数组元素赋值----"); for (int i = 3; i > 0; i--) { arr[i] = i; } //循环输出创建的数组 System.out.println("----赋值后,foreach输出创建好的数组----"); for (int x : arr) { System.out.println(x); } } 
----未赋值前输出刚刚定义的数组---- 
0
0
0
0
----通过循环变量给数组元素赋值----
----赋值后,foreach输出创建好的数组----
0
1
2
3
































三、总结

foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很好的补充。提倡能用foreach的地方就不要再用for了。在用到数组索引的情况下,foreach显得力不从心,这个时候是用for语句的时候了。foreach一般结合泛型使用
集合没事:
这里写图片描述
















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207308.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:06
下一篇 2026年3月19日 下午2:06


相关推荐

  • Repeater嵌套gridview「建议收藏」

    Repeater嵌套gridview「建议收藏」前台:<asp:RepeaterID=”Repeater1″runat=”server”DataSourceID=”SqlDataSource1″OnItemDataBound=”Repeater1_ItemDataBound”><ItemTemplate>id:<%#Eval(“ID”)%>c…

    2022年10月12日
    7
  • java编写球体体积和面积_球体有哪些物品

    java编写球体体积和面积_球体有哪些物品importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassVolumeextendsJFrameimplementsActionListener,ItemListener{JPanelp1,p2,p3;JRadioButtonrb1,rb2,rb3;ButtonGroupbg;JButton…

    2025年12月10日
    6
  • pytest的使用_java直接调用方法

    pytest的使用_java直接调用方法Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

    2022年7月28日
    6
  • SpringBoot——解决application.properties文件不生效的问题

    SpringBoot——解决application.properties文件不生效的问题SpringBoot——解决application.properties文件不生效的问题

    2022年4月23日
    241
  • GoogLeNet v1结构「建议收藏」

    GoogLeNet v1结构「建议收藏」GooLeNetInception块GooLeNetGooLeNet是google2014年推出的深度神经网络模型,原论文名称为:Goingdeeperwithconvolutions,在沐神的书上也被叫做含并⾏连结的⽹络(主要由于Inception块中的结构)。该模型在2014年ILSVRC2014比赛中竞赛中夺得冠军,14年之后也在不断发展,这里就介绍一下初始的版本。Inception块GooLeNet思想有点类似于VGG,先构建块,网络主要通过块的堆叠实现,不过这里的块与VGG块不同,称

    2022年8月14日
    12
  • 十大物流仿真软件汇总

    这里写自定义目录标题(一) Flexsim(二) RaLC(乐龙)(三) Witness(SDX)(四) Automod(五) ShowFlow(六) SIMAnimation(七) Arena(八) Supplychainguru(九) Classwarehouse(十) SimLab(一) FlexsimFlexsim是美国的三维物流仿真软件,能应用于系统建模、仿真以及实现业务流程可视化.Flexsim中的对象参数可以表示基本上所有的存在的实物对象,如机器装备、操作人员、传送带、叉车、仓库、集装

    2022年4月4日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号