一维数组的介绍

  • 数组介绍

1、数组(array)是一种容器,用来存储(同种数据类型)的多个值;

2、应用场景:要操作的数据,是同一组数据,可以使用数组容器进行存储;

3、总结:数组容器在存储数据的时候,需要结合数据类型考虑。容器的类型和存储的数据类型保持一致。

例如:int类型的数组容器(boolean,byte,short,double)

  • 数组的定义格式

数组的定义格式

格式一:数据类型[ ] 变量名

例如:int[ ] array

格式二:数据类型 变量名[ ]

例如:int array[ ]

  • 数组初始化之动态初始化

Java中的数组必须先初始化,然后才能使用;

1、初始化:在内存中,为数组容器开辟空间,并将数据存入容器中的过程;

2、动态初始化:初始化时只指定数组长度,由系统为数组分配初始值;

3、格式:数据类型[ ] 变量名 = new 数据类型[数组的长度];

4、运行下面代码,显示出的是内存地址;

5、注意:打印数组变量名,出现的是数组在内存中的地址值;

例如:[I@776ec8df

@:表示分隔符;

[:表示当前的空间是一个数组类型;

I:表示当前数组容器中所存储的数据类型;

776ec8df:表示十六进制内存地址;

  • 数组元素访问

1、数组内存地址的访问方式:格式:数组名

2、数组内存保存的数据的访问方式:格式:数组名[索引]

3、索引:是数组容器中空间的编号;

特征1:索引从0开始;是连续的,逐一增加,每次加1;

作用:访问数组容器中的空间位置;

例如:

运行结果:

  • 内存分配

Java程序在运行的时候,需要在内存中分配空间,为了提高运算效率,对空间进行不同区域的划分,每片区域都有特定的处理数据方式和内存管理方式。

1、Java内存

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

堆内存;new出来的内容都会进入堆内存,并且会存在地址值;

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

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

寄存器:交给CPU去使用;

2、Java中内存分配

数据类型

默认值

整数

0

浮点数

0.0

布尔

false

字符

空字符

引用数据类型

null

引用数据类型:引用、记录了地址值的变量,所对应的数据类型,就是引用数据类型。例如:int [ ] arr =new int[3];

  • 数组内存图

每new一次(即每创建出一个新的数组),在堆内存中,都是一块新的空间,堆内存中的空间地址不会出现重复现象。

多个数组指向一个内存图

  • 数组初始化之静态初始化

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

2、格式:数据类型 [ ] 变量名=new 数据类型[ ]{数据1,数据2,…};

例如:int [ ] arr=new int[ ]{1,2,3};

简化格式:数据类型[ ] 变量名={数据1,数据2,…};

例如:int [ ] arr={1,2,3};

3、动态初始化和静态初始化区别:

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组长度;适用于:需求中已经明确要操作的具体数据。

动态初始化:手动指定数组长度;系统给出默认初始化值;适用于:只明确元素个数,不明确具体数值。

  • 数组操作的两个常见问题

索引越界:访问了数组中不存在的索引,造成索引越界问题;

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

null:空值,引用数据类型的默认值,表示不指向任何有效对象;

  • 数组遍历

1、定义:把数组中所有的数据都取出来;

2、数组遍历:通过循环获取数组中的所有元素(数据)

  • 获取最值

数组中最大或最小值;

获取最大值:

十一、数组元素求和

1、键盘输入4个数,存储到数组中,并对数组求和;

十二、数组基本查找

已知一个数组arr={11,34,45,56,67};键盘录入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值