栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础之二维数组的使用胎教级别教学(含练习打印输出“杨辉三角形”)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础之二维数组的使用胎教级别教学(含练习打印输出“杨辉三角形”)

默认自己无能,无疑是给失败制造机会!

目录

一、二维数组的定义

二、二维数组的使用

1.二维数组的使用和初始化

2.如何调用数组指定位置的元素

3.如何获取数组的长度

4.如何遍历二维数组

5.数组元素的默认初始值

6.数组的内存解析

三、二维数组的练习之杨辉三角 

1.要求

2.代码实现

3.运行截图


一、二维数组的定义
定义:对于二维数组的理解,我们可以看成是一维数组array1有作为另一个数组array2的元素而存在。

二、二维数组的使用

1.二维数组的使用和初始化
int[][] arr = new int[][]{{1,1,1},{1,2},{1,2,3}};//二维数组的静态初始化

String[][] arr1 = new String[3][2];//二维数组的动态初始化

String[][] arr2 = new String[3][];
arr2[1] = new String[4];//这也是二维数组动态初始化的一种方法

2.如何调用数组指定位置的元素
 System.out.println(arr[0][0]);//输出第一行第一列的元素值
 System.out.println(arr1[1][1]);//输出第二行第二列的元素值

3.如何获取数组的长度
 System.out.println(arr1.length);//3
 System.out.println(arr1[0].length);//2
 System.out.println(arr[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]);

            }
        }

5.数组元素的默认初始值

规定:二维数组分为外层数组的元素,内层数组的元素。

int[][] arr = new int [4][3];

外层元素:arr[0],arr[1]等

内层元素:arr[0][0],arr[1][2]等

针对于初始化方式一:int[][] arr1 = new int[4][3];

        外层元素的初始化值为:地址值

        內层元素的初始化值为:与一维数组的情况相同

针对于初始化方式二:int[][] arr2 = new int[4][];

        外层元素的初始化值为:null

        內层元素的初始化值为:不能调用,否则报错

代码及运行情况如下:

System.out.println(arr1[2]);//地址值
System.out.println(arr1[2][1]);//0,具体情况与一维数组相同
System.out.println(arr2[2]);//null
System.out.println(arr2[3][2]);//报错

6.数组的内存解析

具体过程是先在栈里面给arr分配空间,new的对象都在堆空间,new出来的对象会有一个地址值并且将这个地址值赋给栈空间的arr,,arr通过这个地址值指向对空间中造好的数组,由于new出来的数组为int[4][]故堆空间中的内容为3个null,如果此时输出的话会得到如图结果,arr[0] = new int[3],又new一个数组并且生成一个新地址值指向arr[0],并且最初元素全为0,通过语句arr[0][1] = 5;为数组内的一个元素赋值,将原先的0给覆盖掉同理得另一个。

三、二维数组的练习之杨辉三角 

1.要求

通过代码实现杨辉三角形,三角形第一个元素和最后一个元素都是1,其他的各个元素都是其上一行元素和上一行的前一个元素之和。

2.代码实现
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] = 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] + "t");
            }
            System.out.println();

        }
    }
}

3.运行截图

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/946113.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号