Java学习笔记——Java语言基础(五)(二维数组的简单使用以及内存图解、递归)

本文详细介绍了Java中的二维数组,包括二维数组的格式、内存图解以及静态初始化的示例。此外,还探讨了递归的概念,注意事项以及递归在实际编程中的应用,并通过打印杨辉三角的例子进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:二维数组

1.1 二维数组的格式

1.二维数组的概述:

二维数组其实就是每一个元素都是一维数组的数组
2.二维数组的格式1:
数据类型 [ ] [ ] 变量名=new 数据类型 [m] [ n];
m表示这个二维数组有多少个一维数组,这个必须写上。
n表示每一个一维数组的元素个数,这个可写可不写。
例如:int [] [] arr=new int [3] [2];
表示定义了一个二维数组arr,其中有3个一维数组,名称为arr[0]、arr[1]、arr[2]。每一个数组中的元素个数为2个,可以通过arr[m][n]来获取。
3.二维数组的格式2:
数据类型 [ ] [ ] 变量名=new 数据类型 [m] [ ];
m表示这个二维数组有多少个一维数组,可以动态的给出一维数组的个数。
格式1和格式2的内存图如下所示:
在这里插入图片描述

格式1:定义的是一个长度为2的二维数组,并且初始化了两个长度为3的一维数组,并且是将两个一维数组的地址值赋给了二维数组中。首先,当二维数组创建的时候,默认值为null(数组属于引用类型,其默认值为null),但很快会被一维数组的地址值所覆盖到,并且一维数组的默认值为0(int类型的一维数组默认值为0),二维数组int[2][3]将自己的地址值赋给arr1.
格式2:采用的是动态初始化,定义了一个长度为2的二维数组,同格式1相同,由于没有定义一维数组的个数,所以二维数组内存储的只会是null。
运行结果:
在这里插入图片描述
4.二维数组的格式3:
数据类型[][] 变量名 = { {元素…},{元素…},{元素…}};
这种格式属于静态初始化,由系统给定长度。
内存图如下:
在这里插入图片描述
定义了长度为3的二维数组,并且每一个一维数组的值都给定,在二维数组的默认值为null的情况下,会被一维数组的地址值覆盖掉。一维数组的默认值0也会被定义的数值所覆盖。
5.二维数组的练习:打印杨辉三角

import java.util.Scanner;

public class Demo03 {
   
   
    public static void main(String[] args) {
   
   
        //打印杨辉三角 行数由键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入杨辉三角的行数");
        int n = sc.nextInt();
        int [][] arr=new int[n]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值