Java课堂笔记 第五章 foreach语句与多维数组

摘要: 本文介绍了Java中的foreach语句语法及其在不同场景下的应用。首先,给出了一个简单的foreach语句例子,用于遍历字符串数组并打印每个元素。接着,讨论了foreach语句的弊端,即无法直接修改原始数组的值,只能修改提取出来的数据。然后,介绍了Java中二维数组的概念和定义方式。通过一个例子展示了如何使用foreach语句嵌套来遍历并输出二维数组。最后,给出了一个综合应用,即打印杨辉三角。该例子展示了如何创建和填充二维数组,并使用嵌套foreach语句来输出结果。

Foreach 语句

语法

 for(type element:array){
     System.out.println(element);
 }

例子

 package ch05;
 ​
 import java.util.*;
 ​
 public class ch05 {
 ​
     public static void main(String[] args) {
         // TODO Auto-generated method stub
         String [] myName=new String [] {"小明","小红","小刘"};
         for(int i=0;i<myName.length;i++)
         {
             System.out.println(myName[i]);
         }
         for(String name :myName) {
             System.out.println(name);
         }
     }
 ​
 }

弊端

不能对数组的原始值进行改变,只能修改提取出来之后的数据.

二位数组

在Java中无真正的多维数组,只是数组的数组

定义

 int [ ] [ ] a=new int [行] [列];

或者

 int [ ] [ ] a;
 ​
 a=new int [行] [列];

例子

 package ch05;
 ​
 public class ch053 {
 ​
     public static void main(String[] args) {
         // TODO Auto-generated method stub
         int [][]a=new int [3][4];
         for(int i=0;i<a.length;i++) {//此处可以使用a的属性length进行代表行数
             for(int j=0;j<a[i].length;j++) {
                 System.out.print(a[i][j]+" ");
             }
             System.out.println();
         }
     }
 }

使用foreach语句进行输出

 package ch05;
 ​
 public class ch053 {
 ​
     public static void main(String[] args) {
         // TODO Auto-generated method stub
         int [][]a=new int [3][4];
         for(int[] row : a) {
             for(int col : row) {
                 System.out.println(col);
             }
         }
     }
 }

综合使用:打印杨辉三角

 package ch05;
 ​
 public class ch054 {
 ​
     public static void main(String[] args) {
         // TODO Auto-generated method stub
         int n=10;
         int [][]a=new int [n][];
         for(int i=0;i<a.length;i++){
             a[i]=new int[i+1];
         }
         a[0][0]=1;
         for(int i=1;i<a.length;i++) {
             a[i][0]=1;
             a[i][a[i].length-1]=1;
             for(int j=1;j<a[i].length-1;j++)
             {
                 a[i][j]=a[i-1][j-1]+a[i-1][j];
             }
         }
         for(int [] row:a) {
             for(int col:row) {
                 System.out.print(col+" ");
             }
             System.out.println();
         }
     }
 ​
 }


LICENSED UNDER CC BY-NC-SA 4.0
Comment

粤ICP备2025382526号
公安备案 粤公网安备44080202000201号