吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 977|回复: 5
收起左侧

[讨论] Java基础·数组

[复制链接]
宸道移动安全 发表于 2020-8-24 14:02
数组
数组是指一组数据的集合,数组中的每个数据都被称作元素。

6.1  数组的作用和类型
1.数组的作用:
(1)存储相同数据类型的一组数据。
(2)对同类型数据集中存储、便于管理。

2.数组类型:
数组的类型是数组中存储的数据类型。

图片1.png


3.数组的要点:
数组中的所有元素必须属于相同的数据类型。
数组中所有元素在内存中连续存储。

4.数组特点:
数组本身也是一种引用类型。
数组名只是引用,指向堆中创建的数组对象,该对象保存一组其他引用或直接值。

6.2  声明、创建数组
1.数组的声明:
数组语法:数据类型[] 数组名;

2.数组的创建:
为数组分配空间。
·new操作符的使用。

3.声明并创建数组:
数据类型[] 数组名 =new 数据类型[大小];

4.特点:
(1)数组有一个字段length,表示此数组对象可以存储多少元素即数组长度,length不是实际保存的元素个数。
(2)“[]”语法是访问数组对象成员的唯一方式。
(3)对象数组保存的是引用,基本类型数组直接保存基本类型的值。
(4)新生成的数组对象,其中所有的引用自动初始化为null;基本类型数组成员有各自默认值(数值型自动初始化为0,字符型为(char)0,布尔型为false)。

6.3  初始化数组
1.数组的初始化:
为数组中的成员一一赋值。


2.数组赋值的两种方式:
方法1:边声明边赋值(静态初始化)
int [] yijin ={66,77,88};
int [] score = new int []{66,77,88};

方法2:动态地获取(从键盘录入)信息并赋值
Scanner input = new Scanner(System.in);
for(int i = 0; 1<3; i++){
score = input.nextInt();
}

6.4  常用数组排序算法
1.冒泡排序法:
工作原理:它是一种简单的排序算法,重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。重复地进行直到没有再需要交换、数列已经排序完成,如图6.1所示。


图片2.png


2.选择排序法:
工作原理:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,再从剩余未排序元素中继续寻找最小元素,放到排序序列末尾。以此类推,直到所有元素均排序完毕。

3.插入排序法:
工作原理:它是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。


6.5  常用数组查找算法
1.线性查找法
工作原理:它又称之为顺序查找。是在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程。
例如:求数值在数组中出现的位置,数组中总值并找出数组中的最大值。

2.二分查找法
工作原理:它又称之为折半查找法。是将数组中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功。
否则利用中间位置记录将数组分成前、后两个子数组,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子数组,否则进一步查找后一子数组。重复以上过程,直到找到或找不到为止。

6.6  二维数组的声明创建
数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
在{ }中给出各数组元素的初值,各初值之间用逗号分开。
把{ }中的初值依次赋给各数组元素。

6.7  初始化二维数组
数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。

1.静态初始化:
int[][] arr={{1,2},{3,4,5},{6,7,8,9}};

2.动态初始化:
String [][] arrStr;
arrStr = new String[3][];       //声明
arrStr[0] = new String[2];      //创建,分配空间
arrStr[1] = new String[3];      //为高维初始化
arrStr[2] = new String[4];
arrStr[0][0] = new String(“abc00”);        //为低维初始化
arrStr[0][1] = new String(“abc01”);
arrStr[1][0] = new String(“abc10”);
arrStr[1][1] = new String(“abc11”);
arrStr[1][2] = new String(“abc12”);
arrStr[2][0] = new String(“abc20”);
arrStr[2][1] = new String(“abc21”);
arrStr[2][2] = new String(“abc22”);
arrStr[2][3] = new String(“abc23”);

小结
通过本节课的学习,我们了解了数组的作用和类型以及如何创建数组,在学习的过程中,我们还掌握了如何初始化数组,常用数组的排序算法和查找算法,最后我们还掌握了二维数组的声明创建以及初始化。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Donghui891227 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sdoghjghv 发表于 2020-8-24 14:04
谢谢分享
张海洋 发表于 2020-8-24 14:49
Donghui891227 发表于 2020-8-24 15:16
Alex27933 发表于 2020-8-24 15:35
似乎你发错位置了,应该发到编程语言区,而不是求助区
 楼主| 宸道移动安全 发表于 2020-8-24 19:07
Donghui891227 发表于 2020-8-24 15:16
我也在学这个,有机会共同探讨一下

可以的,互相增加知识,何乐而不为
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 13:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表