java笔记五——数组

一、数组的基本概念

1、数组可以看成是多个相同类型数据的集合。

2、数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。

3、数组的长度一旦确定,就不能修改。

二、一维数组

一维数组的声明

一维数组的声明方式有两种:

  • 格式一:数组元素类型 数组名[ ]; 即type var[ ];
  • 格式二:数组元素类型[ ] 数组名; 即type[ ] var;

例如:

// 格式1:
int  a[]; 

// 格式2:
int[]  a;

注意:JAVA语言中声明数组时不能指定其长度(数组中的元素个数),动态初始化时可以指定其长度。

如:int a[5]; 这样声明一维数组是非法的。

数组对象的创建

JAVA中使用关键字new创建数组对象。

格式为:数组名 = new 数组元素的类型[数组元素的个数]

例如:

// 声明一个int 型的数组
int[] a;
// 创建一个数组对象,该数组的容量为3
a = new[3];

图解数组在内存中的创建过程

数组的动态初始化

特点:数组定义 与为数组元素分配空间和赋值的操作分开进行

例如:

// 例一:
int[] arr = new int[3];
arr[0] = 3;
arr[1] = 2;
arr[2] = 1;

// 例二:
String[] names;
names = new[3];
names[0] = "钱学森";
names[1] = "霍金";
names[2] = "周深";

数组的静态初始化

特点:在定义数组的同时就为数组元素分配空间并赋值。

例如:

// 例一:
int arr[] = new int[]{3,9,8};

// 例二:
int[] arr = {3,9,8};

// 错误举例
int arr[] = new int[3]{3,9,8};

// 错误示例二:
int arr[];
arr = {3,9,8};

数组元素的默认初始化

数组元素类型 元素默认初始值
byte 0
short 0
int 0
long 0L
float 0.0F
double 0.0
char 0 或写为:'u0000'(表现为空)
boolean false
引用类型 null

三、数组模型

  • 一维数组:一维数组就是一行,一行小格。
  • 二维数组:二维数组就是一行加一列组成的一个平面分成的小格,有行有列。
  • 三维数组:三维数组就是一个立方体。

四、二维数组

二维数组的动态初始化

五、数组元素的引用

​ 1、定义并用运算符new为数组分配内存空间后,才可以引用数组中的每个元素,数组元素的引用方式为:arrayName[index], index为数组元素下标,可以是整型常量或整型表达式。如:a[3],b[i],c[6*i]。

 2、数组元素下标从0开始;长度为n的数组的合法下标取值范围为0 n-1

​ 3、 每个数组都有一个属性length指明它的长度,例如:a.length的值为数组a的长度(元素个数)。

六、Arrays工具类的使用

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法。

1 boolean equals(int[] a,int[] b) 判断两个数组是否相等。
2 String toString(int[] a) 输出数组信息。
3 void fill(int[] a,int val) 将指定值填充到数组之中。
4 void sort(int[] a) 对数组进行排序。
5 int binarySearch(int[] a,int key) 对排序后的数组进行二分法检索指定的值。
原文地址:https://www.cnblogs.com/tianwenxin/p/14745249.html