java基础二(数组)

数组

数组是一种最为常见的数据结构,通过数组可以保存一组相同数据类型的数据。数组的类型可以是基本数据类型,也可以是引用数据类型,可以是一维数组,也可以是多维数组。

声明数组:
首先必须声明数组变量,才能在程序中使用数组。声明数组包括数据类型和数组标识符。
声明一维数组方式有两种,即:

数组类型[] 数组标识符;   //这种更符合规范要求
数组类型 数组标识符[]//这种更符合原始变成习惯
int[] months;
boolean members[];

Java语言中的二维数组是一种特殊的一维数组,及数组的每个元素又是一个一维数组,Java语言并不直接支持二维数组,声明二维数组方式如下:

数组的元素类型 数组名[][];
数组的元素类型[][] 数组名;
int[][] days;
boolean hoildays[][];

创建数组:
创建数组实际上就是在内存中为数组分配相应的存储空间。
创建数组的方式有两种,一种是通过new关键字创建,另一种是通过“{ }”创建。
一维数组的创建方式如下:

int[] months=new int[12];           //month的长度为12
boolean[] members={false,true,true,false};    //members的长度为4

二维数组的创建方式如下:

int[][] days=new int[2][3];
boolean holidays[][]={{true,false,true},{false,true,false}};

二维数组可以看做一个表格,数组days和holidays看成一个2行3列的表格。

arrayRefVar = new dataType[arraySize];

上面的语法语句做了两件事:

  1. 使用 dataType[arraySize] 创建了一个数组。
  2. 把新创建的数组的引用赋值给变量arrayRefVar。

数组变量的声明,和创建数组可以用一条语句完成,如下所示:

 dataType[] arrayRefVar = new dataType[arraySize];

初始化数组:
数组的初始化有以下两种方式:
静态初始化:是指在定义的同时指定数组元素内容。示例代码如下:

int[] a = {1,2,3,4,5};
String[]  b = {"one","two","three"};
String[][] c = { {"张三","china"},{"tom","American"},{"jack","England"} };

动态初始化:是指在定义时首先通过new 关键字开辟指定大小的存储空间,然后在为数组指定内容

int[ ] months= new int[2] ;
a[0] = 10;
b[1] = 20;
c[2] = 30;

数组长度:
数组元素的个数称作数组的长度,对于一维数组,“数组名.length”的值就是数组中元素的个数;对于二维数组,“数组名.length”是它含有一维数组的个数。

int[ ] months= new int[2] ;   //一维数组months
System.out.println(months.length);   //一维数组months的长度,输出值为2

String[]  members = {"one","two","three"};   //一维数组b
System.out.println(members .length);   //一维数组b的长度,输出值为3

int[][] days=new int[2][3];    //二维数组days
boolean holidays[][]={{true,false,true},{false,true,false}};  //二维数组holidays
//通过下列方式获得二维数组的长度,得到的是二维数组的行数
System.out.println(days.length);   //二维数组days的行数,输出值为2
System.out.println(holidays.length);   //二维数组holidays的行数,输出值为2

//获的二维数组的列数,方法如下
System.out.println(days[0].length);   //二维数组days的列数,输出值为3
System.out.println(holidays[0].length);   //二维数组holidays的列数,输出值为3

如果是通过“{ }”创建的数组,数组中每一行的列数也可以不同,例如:

boolean holidays[][]={
		{true,false,true},       //二维数组的第1行为3列
		{false,true},            //二维数组的第2行为2列
		{false,true,false}};     //二维数组的第3行为3列

通过下列方式可以得到第一行的列数:

System.out.println(holidays[0].length);   //二维数组holidays第1行的列数,输出值为3

要获得第2行和第3行的列数,方式如下:

System.out.println(holidays[1].length);   //二维数组holidays第2行的列数,输出值为2
System.out.println(holidays[2].length);   //二维数组holidays第3行的列数,输出值为3

使用数组元素
一维数组通过索引(注:索引是从零开始)访问自己的元素,如month[0]、months[1]等。
一维数组在访问数组中的元素时,需要同时指定数组标识符和元素在数组中的索引,例访问上面代码中创建的数组,输出索引位置为2的元素,具体代码如下:

System.out.println(month[2]);
System.out.println(members [2]);

二维数组也可以通过索引访问自己的元素,但是需要同时指定数组标识符和元素在数组中的索引,例如输出为第二行第三列的元素:

System.out.println(days[1][2]);
System.out.println(holidays[1][2]);

猜你喜欢

转载自blog.csdn.net/weixin_44436561/article/details/87931665