Java语言的编程基础_数组的概念和应用
数组的概念和应用
一维数组
一维数组的基本概念
•当需要在Java程序中记录单个数据内容时,则声明一个变量即可。
•当需要在Java程序中记录多个类型相同的数据内容时,则声明一个一维数组即可,一维数组本质上就是在内存空间中申请一段连续的存储单元。
•数组是相同数据类型的多个元素的容器,元素按线性顺序排列,在Java语言中体现为一种引用数据类型。
一维数组的声明方式
•数据类型[] 数组名称= new 数据类型[数组的长度];
•调用数组的length属性可以获取数组的长度:
•可以通过下标的方式访问数组中的每一个元素。需要注意的是:数组的下标从0开始,对于长度为n的数组,下标的范围是0~n-1。
一维数组的初始化方式
•基本类型的数组(数据元素为基本类型)创建后,其元素的初始值:byte、short、char、int、long为0;float和double为0.0;boolean为false。
•可以在数组声明的同时进行初始化,具体如下:
数据类型[] 数组名称= {初始值1, 初始值2, ...};
内存结构之栈区
•栈用于存放程序运行过程当中所有的局部变量。一个运行的Java程序从开始到结束会有多次变量的声明。
内存结构之堆区
•JVM会在其内存空间中开辟一个称为“堆”的存储空间,这部分空间用于存储使用new关键字创建的数组和对象。
数组的优缺点
•可以直接通过下标(或索引)的方式访问指定位置的元素,速度很快。
•数组要求所有元素的类型相同。
•数组要求内存空间连续,并且长度一旦确定就不能修改。
•增加和删除元素时可能移动大量元素,效率低。
数组工具类的概念
•java.util.Arrays类可以实现对数组中元素的遍历、查找、排序等操作。
数组工具类的常用方法
•常用方法如下:
static String toString (int[] a) 输出数组中的内容
static void fill (int[] a, int val) 将参数指定元素赋值给数组中所有元素
static boolean equals (boolean[] a, boolean[] a2) 判断两个数组元素内容和次序是否相同
static void sort (int[] a) 对数组中的元素进行从小到大排序
static int binarySearch (int[] a, int key) 从数组中查找参数指定元素所在的位置
二维数组
二维数组的概念
•二维数组本质上就是由多个一维数组摞在一起组成的数组,二维数组中的每个元素都是一维数组,而一维数组中的每个元素才是数据内容。
二维数组的声明和初始化方式
•数据类型[][] 数组名称= new 数据类型[行数][列数];
•数据类型[][] 数组名称= {{元素1, 元素2,...}, ...};