java数组的初始化及操作详解

所属分类: 软件编程 / java 阅读数: 46
收藏 0 赞 0 分享

数组的基本概念

如果说现在要求你定义100个整型变量,那么如果按照之前的做法,可能现在定义的的结构如下:

int i1, i2, i3, ... i100;

但是这个时候如果按照此类方式定义就会非常麻烦,因为这些变量彼此之间没有任何的关联,也就是说如果现在突然再有一个要求,要求你输出这100个变量的内容,意味着你要编写System.out.println()语句100次。

其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于引用数据类型,那么既然是引用数据类型,这里面实际又会牵扯到内存分配,而数组的定义语法有如下两类。

数组动态初始化

声明并开辟数组

数据类型 [] 数组名称 = new 数据类型[长度];
数据类型 [] 数组名称 = new 数据类型[长度];
分布进行数组空间开辟(实例化)
| Tables | Are |
| ------------- |:-------------😐
| 声明数组: | 数组类型 数组名称[] = null; | | | 数组类型 [] 数组名称 =null; | | 开辟数组空间: | 数组名称 =new` 数组类型[长度]; |
那么当数组开辟空间之后,就可以采用如下的方式的操作:

数组的访问通过索引完成,即:“数组名称[索引]”,但是需要注意的是,数组的索引从0开始,所以索引的范围就是0 ~ 数组长度-1,例如开辟了3个空间的数组,所以可以使用的索引是:0,1,2,如果此时访问的时候超过了数组的索引范围,会产生java.lang.ArrayIndexOutOfBoundsException 异常信息;

当我们数组采用动态初始化开辟空间后,数组里面的每一个元素都是该数组对应数据类型的默认值;

数组本身是一个有序的集合操作,所以对于数组的内容操作往往会采用循环的模式完成,数组是一个有限的数据集合,所以应该使用 for 循环。

在 Java 中提供有一种动态取得数组长度的方式:数组名称.length;

java编程中,我们知道程序=算法+数据结构,而最基本的数据结构就是数组;相同的数据类型的元素的集合,我们称之为数组;以下对数组的初始化及操作做简单介绍。

声明数组:声明数组时,我们需要设定数组元素的类型,数组中的元素是具有相同数据类型的;然后需要一个变量或者叫引用来指向此数组,如int[] arr 或者int arr[],两个都可以。声明数组:声明数组时,我们需要设定数组元素的类型,数组中的元素是具有相同数据类型的;然后需要一个变量或者叫引用来指向此数组,如int[] arr 或者int arr[],两个都可以。

初始化数组

有两种方式进行初始化,一是直接new,二是直接赋值

数组的访问:获取数组长度

调用数组的length属性即可获取数组长度。

数组的访问:通过下标访问数组元素

注意下标是从0开始到length-1,访问方式为arr[i],i为下标。

数组的访问:遍历数组元素

以数组元素下标为递增变量,循环输出即可遍历。

数组的复制:System.arraycopy()

使用封装的System.arraycopy()方法即可对当前数组进行复制操作。

数组的复制:Array.copyOf()

使用java.util.Array类的此方法,也可以实现数组复制,此方法有以下特点:

1.如果newLength大于原数组长度,则用0或者null进行补充,相当于扩容;

2.如果newLength小于原数组的长度,则截取;

数组的排序:

常见的数组排序有插入排序,冒泡排序以及快速排序法,这里介绍最常用的冒泡排序法,即相邻两个元素进行比较,大的元素交换到后,小的交换到前,循环以此类推。

数组的排序:Arrays.sort()

JDK中提供的Arrays.sort()方法,也可以进行数组排序。

更多精彩内容其他人还在看

浅谈spring注解之@profile

这篇文章主要介绍了浅谈spring注解之@profile,@profile通过配置来改变参数,这里整理的详细的用法,有兴趣的可以了解一下
收藏 0 赞 0 分享

Java this 关键字的使用方法详解

这篇文章主要介绍了Java this 关键字的使用方法详解的相关资料,希望通过本文能帮助到大家,让大家彻底理解掌握这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享

Java super关键字的使用方法详解

这篇文章主要介绍了Java super关键字的使用方法详解的相关资料,希望通过本文能帮助到大家,让大家对super关键字彻底掌握,需要的朋友可以参考下
收藏 0 赞 0 分享

springboot整合redis进行数据操作(推荐)

springboot整合redis比较简单,并且使用redistemplate可以让我们更加方便的对数据进行操作。下面通过本文给大家分享springboot整合redis进行数据操作的相关知识,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

java实现简单解析XML文件功能示例

这篇文章主要介绍了java实现简单解析XML文件功能,结合实例形式分析了java针对xml文件的读取、遍历节点及输出等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring Java-based容器配置详解

这篇文章主要介绍了Spring Java-based容器配置详解,涉及注解和@Configuration类以及@Beans的相关知识,具有一定参考价值,需要的朋友可以了解。
收藏 0 赞 0 分享

java实现MD5加密的方法小结

这篇文章主要介绍了java实现MD5加密的方法,结合具体实例形式总结分析了java实现md5加密的常用操作技巧与使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

使用maven运行Java Main的三种方法解析

这篇文章主要介绍了使用maven运行Java Main的三种方式的相关内容,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

javaweb设计中filter粗粒度权限控制代码示例

这篇文章主要介绍了javaweb设计中filter粗粒度权限控制代码示例,小编觉得还是挺不错的,需要的朋友可以参考。
收藏 0 赞 0 分享

java 流操作对文件的分割和合并的实例详解

这篇文章主要介绍了java 流操作对文件的分割和合并的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多