目录
1. 数组的定义和初始化
数组就是相同数据类型的元素按一定顺序排列的集合。我们可以把它看成一个大的盒子,里面按顺序存放了多个数据类型相同的数据。
例如:
比如定义一个int型一维数组a存储四个人的年龄,数组中的元素都可以通过下标来访问,下标从 0 开始,到数组长度-1结束。例如,可以通过 a[0] 获取数组中的第一个元素 18 ,a[3] 就可以取到第四个元素 10。
我们要使用数组,首先我们得对数组进行声明。
语法:
其中,数组名可以是任意合法的变量名,如:
当我们声明了数组后,需要为数组分配空间,也就是定义多大的数组。
语法:
数组长度就是数组最多可存放元素的个数。我们也可以在数组声明的时候初始化数组,或者在声明时就为它分配好空间,这样我们就可以不用再为数组分配空间。
语法:
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的。
Java中可以将一个数组赋值给另一个数组,如:
其实真正做的是复制了一个引用,因此可以知道a2和a1是相同数组的别名。
可以看到,修改a2的值,a1的值也跟着变化。
2. 一维数组
数组可以分为一维数组和多维数组。一维数组是由元素组成单纯的线性结构的数组,简单来理解就是一串元素。在上面的例子中都是一维数组。
一维数组我们可以根据简单地循环进行遍历操作。
比如我们想要在控制台上输出我们上面定义的数组ages。
注意:
-
数组下标从 0 开始。所以数组的下标范围是0 至 数组长度-1。
-
数组不能越界访问,否则会报错。
for 语句在数组内可以使用特殊简化版本,在遍历数组、集合时,foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思。
语法:
例如上面的例子:
运行结果与前面的结果相同。
3. 二维数组
在我们的编程生涯中除了一维数组之外我们还会遇到许多多维数组的应用,其中二维数组是最常见的。
二维数组可以看成是一间有座位的教室,座位我们一般用第几排的第几个进行定位,每一个座位都有一个行和一个列的属性,一排的座位相当于一个一维数组,所以我们可以将二维数组简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。
二维数组也需要声明和分配空间。
语法:
例如:
例子:在控制台上每10个数为一组,打印出前100的数,即1~100。(提示:可以用System.out.printf("%3d",整数)。
*Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
-
给数组赋值:通过 fill 方法。
-
对数组排序:通过 sort 方法,按升序。
-
比较数组:通过 equals 方法比较数组中元素值是否相等。
-
查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
具体说明请查看下表:
冒泡排序:
欢迎关注微信公众号:Java的学习之路
里面资料非常全,从java初级到高级都有,视频,电子书,面试宝典,简历模板,经典案例,源码分析程序员故事以及解决bug方法。。。。应有尽有,可以推荐大家一起学习下!!