Java入门-数组

前言:数组就是一个容器,用来存储一批同种类型的数据。

一、数组的定义和访问

1、静态初始化数组

        定义数组的时候直接给数组赋值。

注意

        (1)“数据类型[] 数组名”也可以写成“数据类型 数组名[]”;

        (2)什么类型的数组只能存放什么类型的数据。

数组在计算机中的基本原理:

        数组名ages中存储的是数组在内存中的地址,数组(对象)是一种引用数据类型。

2、数组的访问

数组名[索引]

        例如 arr[1],arr[2]=100

数组的长度属性:length,例如 arr.length

获取数组的最大索引:arr.length - 1(数组中存在数据,不是空数组)

3、数组的遍历

        应用:求和,元素搜索,找最大值、最小值

for(int i=0; i<arr.length; i++){
    System.out.println(arr[i]);
}

4、动态初始化数组

        定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度

        定义时存储默认值,如int类型的数组存储默认值0。

动态初始化数组元素默认值规则:

业务场景

  • 动态初始化:开始不确定具体元素值,只知道元素个数。
  • 静态初始化:一开始就知道要存入哪些元素值。

二、数组在计算机中的执行原理

1、Java内存分配

  • 方法区

        main方法(函数)想要执行时,必须将其放入栈中,数组一类的数据存储在堆中。

例子:请说明 int[] arr = new int[3] 的执行原理。

        new int[3] 是创建一个数组对象,会在堆内存中开辟区域存储3个整数;arr 是变量,在栈内存中,arr 中存储的是数组对象在堆内存中的地址值

2、多个变量指向同一个数组

int[] arr1 = {11, 22, 33};

int[] arr2 = arr1;  // 将arr1变量存储的地址赋值给arr2变量

arr2[1] = 99;
System.out.printIn(arr1[1]);  // 输出99

        以上代码中变量arr1和arr2指向堆内存中的同一个数组对象,通过arr2修改数组元素的值也可以通过arr1反映出来。

        如果某个数组变量存储的地址为null,那么该变量将不再指向任何数组对象(访问会出错,空指针异常)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值