2024年java数组的基础教学

java数组的基础教学第四章 数组 1 什么是数组 数组是一种引用类型 可以用来保存多个相同类型 元素的集合 数组的特点 在 Java 中 数组是一块连续的内存空间 所以在访问数组元素时可以使用下标访问 数组一旦创建 长度就是固定的 不能改变了 1 1 定义数组 语法 数据类型

大家好,我是讯享网,很高兴认识大家。



第四章 数组

1.什么是数组?

数组是一种引用类型,可以用来保存多个相同类型元素的集合

数组的特点:

在Java中,数组是一块连续的内存空间,所以在访问数组元素时可以使用下标访问。数组一旦创建,长度就是固定的,不能改变了。

1.1定义数组

语法:

数据类型[ ] 数组名;//推荐使用这种方式

数据类型 数组名[ ]; //不推荐使用,只是为了兼容C/C++程序员的习惯.

数组定义实际就是一个变量的定义,也需要对数组进行初始化操作。

1.2初始化

数组的初始化通常有两个过程:

1)为数组分配内存,指定数组长度(元素的个数);

JVM根据元素的数据类型和长度决定分配多大的内存

例如:int型数组,要保存5个元素(int占四个字节)–>分配4字节*5=20个字节的内存

2)初始化数组中的每一个元素

数组初始化的三种方式:

1)数组名 = new 数据类型[长度];

​ a)在JVM的堆内存中,开辟出指定长度的连续的一块内存空间

​ b) 为数组中的每一个元素设置成类0的值

​ byte,short,int,long,float,double 直接初始化成0;

​ char 初始化成空字符;

​ boolean初始化成false;

​ 引用类型 初始化成null;(String是引用类型)

实例
在这里插入图片描述

2)数组名 = new 数据类型[ java数组的基础教学]{元素1,元素2,元素3,…元素n}

​ a)在JVM的堆内存中,开辟出{ }中元素数量的连续的一块内存空间

​ b) 将{ }中的元素依次放到数组的每一个元素中

3)数组类型 [ ] 数组名={元素1,元素2,元素3,…元素n}

过程与2)一样

1)2)可以在数组定义时使用,也可以在数组定义之后使用

3)只能在 定义数组时使用

具体例子:

在这里插入图片描述

第一行这个可以拆开写,第二行这个不能拆开写,拆开写会报错:

在这里插入图片描述

1.3 引用类型与基本类型处理过程的不同

基本数据类型只涉及到栈:

在这里插入图片描述

引用数据类型不仅涉及到栈,还涉及到堆(new—>跑到堆里面去了,在堆里面开

辟连续的内存空间 )。引用数据类型的变量,栈里面存的是对于元素的起始地址,

堆里面存的才是具体的元素内存(对象)。
在这里插入图片描述

2.数组的操作
2.1 访问数组元素

数组名【下标】

下标:元素在数组中的位置

取值:从0开始~数组的长度-1

(0对应第一个元素,1代表第二个元素…)

如何判断数组的长度:数组名.length 获取数组的长度(数组一旦创建就不能改变数组的大小长度了)

如果下标超出了取值范围,这时会报错:数组下标越界,如图所示:

在这里插入图片描述
在这里插入图片描述

若引用型变量,比如数组中赋值其中某个元素为空,则不能用下标进行访问,否则会出错:

在这里插入图片描述

2.2 数组的遍历

​ 遍历:把集合中的每一个元素依次取出

1)使用循环迭代生成数组的下标,用下标迭代访问
在这里插入图片描述

2)使用增强for循环(也叫foreach)

语法:

 
讯享网 

运行过程:

a) 从集合中取出一个元素,放在变量中(变量的值就是对应的遍历的元素值,相当于给变量每次赋值。)

b) 如果能取出,进入循环体执行,循环体执行完成后,回到a)

c)如果取不出,结束循环。

在这里插入图片描述

基于遍历可以对数组进行:

1)求和,求平均值

2)求最大最小值

3)查找数组中的元素

代码例子:求最大值:
在这里插入图片描述

代码例子:查找指定元素:

在这里插入图片描述

2.3 二分法查找算法:

在这里插入图片描述
在这里插入图片描述
2.4 排序算法

十大经典排序算法:

1)冒泡排序

2)插入排序

3)选择排序

4)快速排序

前四个要求懂思想,会编码,很重要!!剩下的要知道名字最起码,尽量记住思想

5)堆排序

6)归并排序

7)希尔排序

8)计数排序

9)桶排序

10)基数排序

小讯
上一篇 2024-12-26 07:52
下一篇 2024-12-31 18:26

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/9926.html