二维数组
1.从定义形式上看 int[][]
2.可以这样理解,原来的一维数组的每个元素是一维数组,就构成二维数组
使用二维数组输出如下图形
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
public class TwoDimensionalArray05 {
public static void main(String[] args) {
/*
使用二维数组输出如下图形
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
什么是二维数组
1.从定义形式上看 int[][]
2.可以这样理解,原来的一维数组的每个元素是一维数组,就构成二维数组
*/
int[][] arr = {{0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0},
{0, 2, 0, 3, 0, 0}, {0, 0, 0, 0, 0, 0}};
// 输出二维图形
for(int i = 0; i < arr.length; i++) {//遍历二维数组的每个数组
// 遍历二维数组的每个元素
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();//换行
}
}
}
public class TwoDimensionalArray02 {
public static void main(String[] args) {
int[][] arr = new int[2][3];
arr[1][1] = 8;
//遍历数组
for(int i = 0; i < arr.length; i++) {//遍历二维数组的每个数组
// 遍历二维数组的每个元素
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();//换行
}
}
}
public class TwoDimensionalArray02 {
public static void main(String[] args) {
int[][] arr;//声明二维数组
arr = new int[2][3];//再开空间
}
}
public class TwoDimensionalArray03 {
public static void main(String[] args) {
//一共三个一维数组,每个一维数组的元素是不一样的
int[][] arr = new int[3][];
//遍历数组
for(int i = 0; i < arr.length; i++) {//遍历二维数组的每个数组
//给每个一维数组开空间,
//如果没有给一维数组new 那么arr[i]就是null
arr[i] = new int[i + 1];
//遍历一维数组,并给一维数组的每个元素赋值
for(int j = 0; j < arr[i].length; j++) {
arr[i][j] = i + 1;
}
}
// 遍历arr输出
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();//换行
}
}
}
int[][] arr = {{4, 6}, {1, 4, 5, 7}, {-2}};遍历该二维数组,并得到和
public class TwoDimensionalArray05 {
public static void main(String[] args) {
//int[][] arr = {{4, 6}, {1, 4, 5, 7}, {-2}};
//遍历该二维数组,并得到和
int[][] arr = {{4, 6}, {1, 4, 5, 7}, {-2}};
//定义一个变量计算和
int h = 0;
//遍历数组
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
h += arr[i][j];
System.out.print(arr[i][j] + " ");
}
}
System.out.println("\n二维数组和为" + h);
}
}
使用二维数组打印一个10行的杨辉三角
public class YangHui {
public static void main(String[] args) {
/*
使用二维数组打印一个10行的杨辉三角
规律
1.第一行有1个元素,第n行有n个元素
2.每一行的第一个元素和最后一个元素都是1
3.从第三行开始,大于非第一个元素和最后一个元素的元素值
arr[i][j] = arr[i-j][j] + arr[i-j][j-1];
*/
//定义一个二维数组
int[][] arr = new int [10][];
//遍历数组
for(int i = 0; i < arr.length; i++) {
// 给每个一维数组开空间
arr[i] = new int[i+1];
// 给每个一维数组赋值
for(int j = 0; j < arr[i].length; j++) {
if(j == 0 || j == arr[i].length - 1) {
arr[i][j] = 1;
}else {
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
}
}
}
// 输出结果
for(int i = 0; i < arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();//换行
}
}
}