Java中的数组
Java中的数组与其他语言类似都是一种基本类型或对象的集合,用来快速声明变量或作为存储结构
数组是什么:
所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。
通俗的说:数组就是把 内容 编上号 然后起个 名字 而这个名字就是数组名称,我们可以去使用数组名称和标号找到指定的元素.
就像图片中的五个盒子对应着编号,将内容放入其中.
数组的声明:
数组在Java中有两种声明方式
Java中的数组可以是 基本类型数组 也可以是 对象数组
-
方式A(推荐):
int[] a; double[] b; String[] c; Object[] d; ......
-
方式B(类似C++):
int a[]; double b[]; String c[]; Object d[]; ......
注意
为什么推荐使用 方法A:
*Java是一门面向对象的语言,作为数组本身也是一个对象而作为一个对象我们需要换一种思路去思考
如:
int
类型的数组他的对象类型为int[]
double
类型的数组他的对象类型为double[]
那么int[] a = new int[5];
实际上是实例化了一个
int[]
型的对象这和常规的声明对象变量的方式类似
创建数组(初始化):
-
规定大小(假设大小为 5):
int[] a = new int[5]; double[] b = new double[5]; String[] c = new String[5]; Object[] d = new Object[5]; ..
int a[] = {1,2,3,4,5,6}; double b[] = {1.1,3.43,4.3}; String c[] = {"hi","hello"}; Object d[] = {objectA,objectB}; ......
数组的使用:
-
取出其中一个元素
现在有一个数组为
int[] a = {1,2,3,4,5};
我们取出他的第一个元素;
int first = a[0];
我们取出他的最后一个元素:
int last = a[4];
不难看出数组的下标是从 '0' 开始的那么一个长度为 '5' 的数组中的第一个元素的下标为 '0' 最后一个元素的下标为 '4'
-
遍历所有元素
如何一次性的找出所有数组内的内容呢?
我们很自然的想到了使用循环去操作
关于循环的使用:点击查看论使用哪种循环都可以对数组进行遍历,但是我们一般使用 for 循环对数组进行操作,因为这样让代码可读性更改,同时节约了系统资源.
- 使用for循环遍历
int[] a = {1,2,3,4,5}; for(int n = 0 ; n<a.length ; n++){ System.out.print( a[n] ); }
输出结果为
: 12345
上面的代码的作用:
输出数组 a 中的所有内容.
a.lentgh 的值:
a 数组的长度 ‘5’.- 使用增强for循环 For-Each
int[] a = {1,2,3,4,5}; for(int n : a){ System.out.print(n); }
输出结果为
: 12345
上面的代码的作用:
输出数组 a 中的所有内容.
使用 增强for循环可以一次性输出 数组中 所有内容实现对内容的快速遍历
数组在函数中的操作:
-
数组作为函数参数:
public static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } }
函数作为参数时如上面代码一样进行传递,正如上面所说的数组实际上可以看做对象,那么数组类型本身就是对象类型,则直接编写对象名:
int[ ]和形参
array就实现了参数的传递` -
数组作为函数返回值:
public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; } return result; }
与作为参数类似,把数组看做一个对象,函数的返回类型就是对象类型如上面的代码为:
int[ ]然后直接返回数组名,也就是数组对象
result
多维数组:
多维数组可以看做一个表格或者多个表格的嵌套:
一维数组
:一行N列的表格
二维数组
:N行N列的表格
三维数组
:N行N列的表格中每个单元格
中嵌套
了一个一一维数组(一行N列的表格)
四维数组
:N行N列的表格中每个单元格
中嵌套
了一个一二维数组(N行N列的表格)
.......
以此类推
-
创建一个多维数组:
int[][] num = new int[3][5];
上面的代码创建了一个 二维数组 也可以以理解为 创建了一个
int[ ][ ]类型的对象
相当于表格:
[0][0] [0][1] [0][2] [0][3] [1][0] [1][1] [1][2] [1][3] [2][0] [2][1] [2][2] [2][3] -
为多维数组赋值
Arrays 类的使用:
Arrays类 作用是让开发者更加方便的操作数组,包括排序,比较等等.
包位于java.util.Arrays
中
Arrays中全是静态方法可以使用类名直接调用.
以上便是Java数组的基本内容,如有错误欢迎指正.