数组经典练习题,超配合教程的练习(一)

这篇博客详细介绍了Java中二维数组的定义、初始化和使用,包括动态和静态初始化方式,并给出了具体的代码实现。通过一系列练习,读者可以掌握二维数组的应用,例如杨辉三角的生成。此外,还涉及了数组操作的相关知识点,如数组插入保持升序和数组操作的判断题。
摘要由CSDN通过智能技术生成

目录

二维数组 

1. 从定义形式上看  int[][] 2, 可以这样理解,原来的一维数组的每个元素是一维数组,就构成二维数组

练习:请用二维数组输出一下图形

 二维数组的细节和注意事项:

使用方式1: 动态初始化

二维数组的内存分析图:(非常重要)

使用方式2: 动态初始化

 使用方式3: 动态初始化--列数不确定

练习:看一个需求:动态创建下面的二维数组,并输出

 使用方式4: 静态初始化

练习:二维数组 的应用案例  :杨辉三角

练习1:判断

        练习2:判断

int[] x,y[];//下面能通过编译的是说明:x是int 类型的一维数组,y是int 类型的二维数组

练习3:

已知有个升序的数组,要求插入一个元素,该数组顺序依然是升序,比如:* 【10, 12,45,90】,添加23后,数组为【10,12,23,45,90】

画图分析(内存分析法):

        练习4:

随机生成10个整数(1-100的范围)保存到数组;并倒序打印以及求平均值、求最大值和最大值的下标;并查找里面是否有8;


二维数组 


1. 从定义形式上看  int[][]
 2, 可以这样理解,原来的一维数组的每个元素是一维数组,就构成二维数组

练习:请用二维数组输出一下图形

 思路分析:

1. arr.length 表示二维数组的每个元素

2. 使用for循环遍历二维数组的每个元素(数组)

3. arr[ i ] 表示二维数组 的第 i+1个元素 ,比如 arr[ 0 ] :二维数组 的第一个元素

4.arr [ i ].length 得到对应的每个一维数组的长度

代码实现:

        //输出二维图形
        for (int i=0;i< arr.length;i++){//遍历二维数组的每个元素
            //遍历二维数组的每个元素(数组)
            //老韩解读:
            //1. arr[i]  表示二维数组的第i+1个元素,比如arr[0]:二维数组的第一个元素
            //2.  arr[i].length 得到对应的每个一维数组的长度
            for (int j=0;j< arr[i].length;j++){
                System.out.print(arr[i][j]+"");//输出了一维数组。[i]表示第几个一维数组,[j] 
           表示第几个一维数组的第几个值
            }
            System.out.println();//换行

        }

结果:

 二维数组的细节和注意事项:

使用方式1: 动态初始化

1. 语法:类型【】【】  数组名=new 类型【大小】【大小】
2. 比如:int a[][]=new int[2][3]

下面是使用演示:

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

        arr[1][1]=8;
        //遍历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();//换行
        }

结果:

下面使用内存分析图来分析上面的代码:

二维数组的内存分析图:(非常重要)

 分析: 二维数组指向一个空间,但是这个空间并不直接存放数据,为什么不直接存放数据,因为这个空间里面存放的每个元素是一维数组,而不是具体的数据,所以它要追溯一维数组的引用存放的数据。

使用方式2: 动态初始化

1. 先声明:类型 数组名【】【】;
2. 再定义(开辟空间) 数组名=new 类型【大小】【大小】
3. 赋值(有默认值,比如int 类型的就是0)
 

 下面是使用演示(代码与“使用方式1”的一致,只是“先声明,再定义”):

       int arr[][];//声明二维数组
       arr=new int[2][3];//再开空间

        arr[1][1]=8;
        //遍历arr数组
        for (int i=0;i<arr.length;i++){
            for (int j=0;j< arr[i].length;j++){
                System.out.print(arr[i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值