5.二维数组

package com.atguigu.java;
/*
 * 二维数组的使用
 *
 */
public class ArrayText02 {
 public static void main(String[] args) {
  //1.二维数组的声明和初始化
  int[] arr = new int[] {1,2,3};//一位数组
  //静态初始化
  int[][] arr1 = new int[][] {{1,2,3},{4,5},{6,7,8}};
  int[][] arr4 = {{1,2,3},{4,5},{6,7,8}};//类型推断也正确
  //动态初始化1
  String[][] arr2 = new String[3][2];
  //动初始化2
  String[][] arr3 = new String[3][];
  
  //2.如何调用数组的指定位置元素
  System.out.println(arr1[0][1]);
  System.out.println(arr2[1][1]);
  
  arr3[1] = new String[3];
  System.out.println(arr3[1][0]);
  
  //3.获取数组长度
  System.out.println(arr1.length);//第一层长度:3
  System.out.println(arr1[1].length);//第二层长度:2
  
  //4.遍历二维数组
  for(int i = 0; i < arr1.length;i++) {
   for(int j = 0;j < arr1[i].length;j++) {
    System.out.print(arr1[i][j]+" ");
   }
   System.out.println();
  }
  
  //5.数组元素的默认初始化值
  /*针对于初始化方式一:比如:int[][] arr = new int[4][3];
   * 外层元素初始化值为:地址值
   * 内层元素的初始值为:与一位数组初始化情况相同
   *
   * 针对于初始化方式二:比如:int[][] arr = new int[4][];
   * 外层元素的初始值为:null
   * 内层元素的初始化值为:不能调用,否则报错。内层为空指针
   *
   */
 }
}
 
杨辉三角
package com.atguigu.exec;
/*
 * 杨辉三角
 */
public class ArrayDemo1 {
 public static void main(String[] args) {
  //1.声明并初始化二维数组
  int[][] yangHui = new int[10][];
  
  //2.给数组的元素赋值
  //yangHui[0] = new int[1];
  for(int i = 0;i < yangHui.length;i++) {
   yangHui[i] = new int[i+1]; 
   //首末赋值
   yangHui[i][0] = 1;
   yangHui[i][i] = 1;
   
   if(i>1) {
    for(int j = 1;j <yangHui[i].length-1;j++) {
     yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
    }
   }
  }
  
  //3.遍历数组
  for(int i = 0;i<yangHui.length;i++) {
   for(int j = 0;j < yangHui[i].length;j++) {
    System.out.print(yangHui[i][j]);
   }
   System.out.println();
  }  
 }
}
原文地址:https://www.cnblogs.com/sun1997/p/12364939.html