韩顺平Java学习日志(数组)

数组的定义与使用:

double hens[];
hens = double[10];//方法一
double[] hens = new double[5];//方法二
double[] hens ={0};//静态初始化,初始化过后不能再次赋值
a = hens[2];// 索引从0开始

数组的数据类型是引用类型。

数组的长度通过调用数组类的方法: .length 来求

数组创建后,如不赋值,有默认的值

(图片来自韩顺平老师b站课程)

数组的赋值机制是引用传递,赋的是地址值,基本类型赋的是具体数据,值拷贝,值与值之间相互独立。

int[] arr1 = {0,1,2};
int[] arr2 = arr1;
arr[0] = 20;//由于数组是引用传递,因此改变数组组时,是改变对应内存单位存储的地址所对应的值。

如果需要只拷贝内容,也就是创建两个相互独立的数组时代码如下

int[] a = {0,1,2,3};
int[] b = new int[a.length];
for(int i = 0; i < a.length; i++);
b[i] = a[i];//实现只拷贝内容,创建独立数组

数组扩容\缩减方法:先创建一个新的数组,将添加值与原值拷贝进新数组,再将地址赋给原数组

即arr = arrNew;此时原数组指向新数组,原始数组的内存空间被销毁,完成扩容\缩减。

二维数组的定义:int[][]  a={{},{}};一个括号就是一组,.length表示一维数组的个数

arr[].length表示一维数组的长度,arr[i]的为二维数组的某个元素数组

动态初始化:int a[][] = new int[][] int[] a[] 

二维数组在内存中的存储方式为: 数组名指向一组内存,内存中的位置存的也是地址,地址指向的内存存放着下一维数组。可以满足多维数组中每一个小数组不为统一长度

方法为: int[][] a = new a[数字][不填]

再在下方对每个上维数组new 空间

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值