专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java开发课程(九)——数组(java数组基础知识)

temp10 2024-09-27 22:57:41 java教程 9 ℃ 0 评论

数组

1、一维数组

  • 数组的作用类型

(1)作用:

Java开发课程(九)——数组(java数组基础知识)

—存储相同数据类型的一组数据

—对同类型数据集中存储、管理、便于遍历

(2)要点:

—数组中的所有元素必须属于相同的数据类型

—数组中所有元素在内存中连续存储

(3)特点:

—数组本身也是一种引用类型

—数组名只是引用,指向堆中创建的数组对象,该对象保存一组其它引用或直接值

(4)数组类型

—数组的类型就是数组中存储的数据的类型

  • 声明、创建数组

(1)数组的声明

—告诉系统数据类型是什么

—浯法

数据类型[] 数组名;

(2)数组的创建

一为数组分配内存空间:new操作符的使用

(3)声明并创建数组

数据类型[] 数组名=new 数据类型[大小];

(4)数组特点

一数组有一个字段length,表示此数组对象可以存储多少元素即数组长度,length不是实际保存的元素个数。

—"[]"语法是访问数组对象成员的唯一方式。。

一对象数组保存的是引用,基本类型数组直接保存基本类型的值

一新生成的数组对象,其中所有的引用自动初始化为null;基本类型数组成员有各自默认值(数值型自动初始化为0,字符型为(char)0,布尔型为false)。

  • 初始化数组

(1)数组的初始化

—为数组中的成员一一赋值。

(2)数组赋值的两种方式

方法1:边声明边赋值(静态初始化)

int[] score={66,77,88};//或
int[] score=new int[]{66,77,88};

方法2:动态地获取(从盘录入)信息并赋值

Scanner input=new Scanner(System.in);
for(int i=0;i<3;i++){
 score[i]=input.nextlnt(); 
}
  • 常用数组排序算法

(1)冒泡排序法:

工作原理:它是一种筒单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。重复地进行直到没有再需要交换,直到该数列已经排序完成。

(2)选择排序法:

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

(3)插入排序法:

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

  • 常用数组查找算法

(1)线性查找法:

工作原理:它又称之为顺序查找。在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程。

(2)二分查找法:

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

  • Arrays类用

Java的jdk中提供了一个Arrays工具类,此类专门为程序员操作数组提供了很多专有方法,通过方法的调用可以对数组进行赋值、排序、比较、查找元素等功能。


2、二维数组

  • 二维数组的声明、创建

—二维数组可以看成以数组为元素的数组

—Java中二维数组的声明和初始化应按照从高维到低维的顺序进行

示例:

int[] arr1=new int[10][];//第二维长度未定
int[] arr2=new int[10][20];//第二维长度确定
虽然这两个数组的创建有区别,但系统为它们分配的堆内存空间大小是一样的

—对于任何类型的二维数组而言,第一维的大小决定了二维数组对象的大小,因为二维数组的成员是数组引用,数组引用本身大小是固定的。

  • 初始化二维数组

—静态初始化

int[][] arr={{1,2},{3,4,5},{6,7,8,9}};

—动态初始化

 String[][] arrStr; //声明
 arrStr=new String[3][]; //创建、分配内存
 arrStr[0]=new String[2]; //为高维创建初始化
 arrStr[1]=new String[3];
 arrStr[2]=new String[4];
 arrStr[0][0]=newString("abc00"); //为低维初始化
 arrStr[0][1]=newString("abc01");
 arrStr[1][0]=newString("abc10);
 arrStr[1][1]=newString("abc11");
 arrStr(1)(2)=newString("abc12");

3、课程总结

  • 一维数组
  • 二维数组

数组课程到此结束啦,谢谢走过路过的朋友们,觉得有用的话请多多关注哟~

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表