JAVA数组(1)
文章目录
一、数组
1、数组的概念
数组(Array),是多个相同的数据类型按照一定的顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一的管理。
它也是一种容器 可以同时存放 同种数据类型的多个数据
2、数组的特点
1:数组是一个对象,是一种引用数据类型。可以表示一组数据的集合。
2:数组只能保存一种类型的数据。
3:数组可以使用 new 关键字 进行初始化。
4:数组有一个属性:长度的属性,表示数组中元素的个数 该属性是 int 类 型。 通过 数组名.length 来访问该属性。
5:创建数组对象会在内存中开辟一整块连续的空间。
6:数组中元素的下标的取值范围是:[0~length-1]。
7:数组的长度一旦确定,就不能更改了。数组是定长的。
8: [ ]代表的是 数组这种类型。
9:数组的长度可以是 0,但是不能是 负数。
3、数组的初始化
数组的初始化分为静态初始化和动态初始化两种。
动态初始化
动态初始化中只需给定一个数组长度,系统会默认给当前数组中的元素提供一个默认值。默认值随数组类型给出。
静态初始化
静态初始化中需要给定数组中的元素的值,由系统计算数组的长度,静态初始化中可以省略new,两种方式效果一样。
public class Demo01Array {
public static void main(String[] args) {
//1.数组的动态初始化
//创建一个数组,用来存放55个int数据
//学号
int[] arrayA = new int[55];//动态初始化
//java成绩
double[] arrayB = new double[55];
//姓名
//String[] arrayC = new String[55];
//动态初始化可以拆开为两步骤
String[] arrayC;
arrayC = new String[55];
//2.数组的静态初始化
int[] arraydD = new int[]{1,2,3,4,5};
//String[] arraydE = new String[]{"hellow","world","java"};
//不省略额静态初始化可以拆开为两步骤
String[] arraydE;
arraydE = new String[]{"hellow","world","java"};
//3.数组静态初始化的省略写法
String[] arraydF = {"hellow","world","java"};
//错误写法,省略静态不能拆开
//String[] arraydF;
//arraydF = {"hellow","world","java"};
}
}
二、一维数组
在JAVA中创建数组包括数组的声明、数组的内存分配和数组的初始化3个步骤。
1、一维数组的声明
数组的声明方式和一般变量的声明方式类似,需要声明素组变量名和其数据结构和其数据类型,并用“[]”与一般的变量相区别。JAVA中声明一维数组的格式为:
type arrayName[];或type arrayName;
2、一维数组的内存分配
需要注意的是,与C和C++不同,JAVA在声明数组时并不为数组元素分配内存,因此“[]”
中不用指出数组元素的个数,即数组长度。要创建数组,为其分配内存空间,应使用new运算符。其格式如下:
arrayName = new type[arraySize];
3、一维数组的初始化
(1)在声明数组的同时进行初始化。例如:
int a[] = {1,2,3,4,5} //定义了一个含有5个元素,初值分别为1,2,3,4,5的int型数组
(2)在声明并创建数组后,为每个元素分分别赋值来对数组进行初始化
4、一维数组的引用
当定义 一个数组,并为它分配内存空间后,就可以引用数组中的每一个元素。数组元素的应用方式如下:
arrayName[index]
三、二维数组
1.二维数组的定义方式
二维数组的定义与一维数组的定义类似,只是在一维数组的基础上再加上一个"[]"其定义格式如下:
type arrayName[][]或type[][] arrayName
2.二维数组的内存分配和初始化
使用new运算符为二维数组分配内存空间并初始化时,可指定各维的长度或至少指定第一维的长度。
3.二维数组的引用
创建二维数组后,就可以使用二维数组了。二维数组中的每个元素的引用方式为:
arrayName[index1][index2]