第六章 数组学习 2021.6.26

数组

一维数组

只有一个下标的数组称为一维数组

一维数组的声明

格式为:类型标识符 数组名[]/类型标识符[] 数组名

注:声明一维数组时,系统只为数组名(引用变量名)分配存储空间,并未创建具体的数组对象

int abc[];
double[] example2;

创建一维数组对象

创建一维数组对象主要包括3个方面的工作:

  1. 为数组对象在对象存储区分配空间

  2. 对数组对象进行初始化

  3. 将新创建的数组对象与已经声明的引用变量关联起来

直接指定初值的方式创建数组对象

int[] a1 = {23,-9,38,8,65}

用关键字new创建数组对象

格式:类型标识符 数组名[] = new 类型标识符[数组长度]

int[] a2 = new int[9];

一位数组的引用

引用格式:数组名[数组下标]

int[] a = new int[10];
a[3] = 10;

一位数组的应用

测试数组的长度

int[] a1 = new int[8];
System.out.println("a1.length = "+a1.length);
//数组也是一种对象,创建好数组a1后,可以直接访问a1.length来访问a1数组的长度

数组名之间的赋值

int[] a1 = {1,2,3,4,5};
int[] a2 = {7,8,9};
a2 = a1;
//赋值的结果是a2指向a1指向的数组,而a2原来指向的数组由于没有指向而消失

向成员方法传递数组元素

数组元素作为成员方法的实参是单向值传递,即只能由数组元素传递给形参,程序中对形参的任何改变并不会改变数组元素的值

向成员方法传递数组名

数组名作为成员方法的实参是双向地址传递,是把实参数组对象的起始地址传递给形参,程序中对形参数组名指向的各元素值的修改,都是改变实参数组名指向的各元素的值


二维数组

二维数组的声明

格式为: 类型说明符 数组名/类型说明符 数组名

注:声明二维数组时,系统只为数组名(引用变量名)分配存储空间,并未创建具体的数组对象

int arr1[][];
int[][] arr2;

创建二维数组对象

创建二维数组对象主要包括3个方面的工作:

  1. 为数组对象在对象存储区分配空间

  2. 对数组对象进行初始化

  3. 将新创建的数组对象与已经声明的引用变量关联起来

用关键字new创建数组对象

初始化二维数组时,可以只指定数组的行数,而不给出数组的列数

int[][] arra = new int[3][4];
//等价于
int[][] arra;
arra = new int[3][];//创建一个有3个元素的数组,且每个元素也是一个数组
arra[0] = new int[4];//创建arra[0]元素的数组,它有4个元素
arra[1] = new int[4];//创建arra[1]元素的数组,它有4个元素
arra[2] = new int[4];//创建arra[2]元素的数组,它有4个元素

直接指定初值的方式创建二位数组对象

int[][] arr1 = {{1,2,3,4},{2,3,4,5},{3,4,5,6}};
//等价于
int[][] arr1;
arr1 = new int[3][];
arr1[0] = {1,2,3,4};
arr1[1] = {2,3,4,5};
arr1[2] = {3,4,5,6};

二维数组的应用

测试数组的长度

int[][] arr1 = {{1,2},{3,4,5},{6,7,8,9}};
//arr1.length的返回值是3,测定的是数组的行数
//arr1[0].length的返回值是2,测定的是该行的列数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值