5.二维数组
package com.atguigu.java;
/*
* 二维数组的使用
*/
public class ArrayText02 {
public static void main(String[] args) {
//1.二维数组的声明和初始化
//2.如何调用数组的指定位置元素
//3.获取数组长度
//4.遍历二维数组
//5.数组元素的默认初始化值
/*针对于初始化方式一:比如:int[][] arr = new int[4][3];
* 外层元素初始化值为:地址值
* 内层元素的初始值为:与一位数组初始化情况相同
*
* 针对于初始化方式二:比如:int[][] arr = new int[4][];
* 外层元素的初始值为:null
* 内层元素的初始化值为:不能调用,否则报错。内层为空指针
*/
}
}
* 二维数组的使用
*/
public class ArrayText02 {
public static void main(String[] args) {
//1.二维数组的声明和初始化
1 int[] arr = new int[] {1,2,3};//一维数组 2 //静态初始化 3 int[][] arr1 = new int[][] {{1,2,3},{4,5},{6,7,8}}; 4 int[][] arr4 = {{1,2,3},{4,5},{6,7,8}};//类型推断也正确 5 //动态初始化1 6 String[][] arr2 = new String[3][2]; 7 //动初始化2 8 String[][] arr3 = new String[3][];
1 System.out.println(arr1[0][1]); 2 System.out.println(arr2[1][1]); 3 4 arr3[1] = new String[3]; 5 System.out.println(arr3[1][0]);
1 System.out.println(arr1.length);//第一层长度:3 2 System.out.println(arr1[1].length);//第二层长度:2
1 for(int i = 0; i < arr1.length;i++) { 2 for(int j = 0;j < arr1[i].length;j++) { 3 System.out.print(arr1[i][j]+"\t"); 4 } 5 System.out.println(); 6 }
/*针对于初始化方式一:比如:int[][] arr = new int[4][3];
* 外层元素初始化值为:地址值
* 内层元素的初始值为:与一位数组初始化情况相同
*
* 针对于初始化方式二:比如:int[][] arr = new int[4][];
* 外层元素的初始值为:null
* 内层元素的初始化值为:不能调用,否则报错。内层为空指针
*/
}
}
杨辉三角
1 package com.atguigu.exec; 2 public class ArrayDemo1 { 3 public static void main(String[] args) { 4 //1.声明并初始化二维数组 5 int[][] yangHui = new int[10][] 7 //2.给数组的元素赋值 8 //yangHui[0] = new int[1]; 9 for(int i = 0;i < yangHui.length;i++) { 10 yangHui[i] = new int[i+1]; 11 //首末赋值 12 yangHui[i][0] = 1; 13 yangHui[i][i] = 1; 14 15 if(i>1) { 16 for(int j = 1;j <yangHui[i].length-1;j++) { 17 yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j]; 18 } 19 } 20 } 22 //3.遍历数组 23 for(int i = 0;i<yangHui.length;i++) { 24 for(int j = 0;j < yangHui[i].length;j++) { 25 System.out.print(yangHui[i][j]); 26 } 27 System.out.println(); 28 } 29 } 30 }
虽不能至,心向往之