day013:Java数组知识点(1)

接下节:day014:Java数组知识点(2)_ZQyyds:)的博客-CSDN博客

一、数组的介绍

1.数组(array)是一种容器,用来存储同种数据类型的多个值。建议:容器的类型,和存储的数据类型保持一致。

2.数组的定义格式:

(1)数据类型[ ] 数组名     eg: int[ ] arr;

(2)数据类型 数组名[ ]     eg: int arr[ ];

3.数组的动态初始化:

所谓初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器的过程。

动态初始化:初始化时手动指定数组长度,由系统为数组分配初始值。

格式: 数据类型 [ ] 数组名=new 数据类型[ 数组长度];

eg:int [ ] arr= new int [10]; 即定义一个int型数组长度为10(即:可存储10个int类型的整数)的数组。

4.数组元素的访问:

(1)数组内存地址的访问方式

格式:数组名(即System.out.println(arr);运行即可得到内存地址;这个arr数组名 记录的就是数组的内存访问地址

(2)数组内部保存的数据的访问方式:

格式:数组名[索引] (即arr[0]或arr[1]等等;索引是数组容器中空间的编号,从0开始。作用:访问数组容器中的空间位置)

5.内存分配:

Java中内存分配有五种:

栈内存:方法运行时进入的内存,局部变量都存放于这块内存当中。

堆内存:new出来的全部内容都会进入堆内存,并且会存在地址值。

方法区:字节码文件(.class文件)加载时进入的内存。

本地方法栈:调用操作系统相关资源。

寄存器:交给CPU去使用。

6.数组的静态初始化:

静态初始化:初始化时,就可以指定数组要存储的元素,系统还会自动计算出数组长度。

格式:数据类型[ ] 数组名=new 数据类型[ ]{数据1数据2,数据3,...};

简化格式:数据类型[ ] 数组名={数据1,数据2,数据3...};

eg:int[ ] arr=new int[ ]{1,2,3}; 即定义一个int型数组长度为3(即:可存储3个int类型的整数)的数组。

7.数组的动、静态初始化的对比:

A.区别:

(1)动态初始化:手动指定数组长度,由系统给出默认初始化值

(2)静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度

B.使用场景:

  (1) 动态初始化:只明确元素个数,不明确具体数值。

(2)静态初始化:需求中已经明确了要操作的具体数据。

8.数组操作的两个常见小问题:

(1)索引越界:访问了数组中不存在的索引,造成索引越界问题。

(2)空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常

9.数组常见操作:

(1)数组遍历:将数组中的所有数据取出来,是指取出数据的过程,而不是单单指将数据打印出来。

     (注:动态获取数组元素的个数:数组名.length,例如:arr.length) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZQyyds:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值