Java数组

分享到:

Java数组是一种引用数据类型,所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分每一个变量的集合,这个集合的名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素。在Java开发过程中数组的应用于非常频繁,例如可以把一个班级的学生信息放到一个数组中,只要知道每个学生对应的序号(序号就是下标)就能得到对应学生的信息。下面我们详细了解数组在java中的使用方法。

Java数组的声明
和普通的变量一样数组在使用之前也要进行声明和初始化,声明数组的语法如下所示

java数组

通过这张图已经非常清晰的表示出了java数组的声明格式,其中前面的数据类型和new关键字后面的类型要保持一致,后面的方括号中的数字表示这个数组包含元素的个数。java数组和普通变量的声明过程有些区别,多了new关键字说明数组是个对像,实例化之后才能使用。
通过int[] abc = new int[3]; 这行代码我们定义了一个整数型名叫abc的数组,数组包含3个元素。到这里abc这个数组还是空的,因为我们还没有给这3个元素赋值。下面我们看如何给数组元素赋值,代码如下:

int[] abc=new int[3];//定义int类型数组,包含3个元素
abc[0]=0; //给第1个元素赋值
abc[1]=1; //给第2个元素赋值
abc[2]=2; //给第3个元素赋值

注意:Java数组的下标从0开始,例如有本例数组abc有3个元素,下标从0开始的话,最后一个下标应该是2,而不是3
给数组元素赋值的方式如下图:

java数组

上面的例子使用了new关键字来创建数组,并用 "数组名[元素下标] = 值" 的方式对各个元素进行赋值,

还有另一种更为简便的数组创建方法,对于元素个数不是很多的数组非常适用,具体如下所示:

java数组

只用 int[] abc = {0,1,2} ;一行代码就完成了数组的声明同时也完成了元素赋值
这种方式的好处是不用事先确定数组个数,只需把元素对应的值写入大括号并用逗号隔开即可,有多少个值就有多少个元素,每个元素的值与大括号内值的顺序一一对应,例如本例abc[0]对应的就是0, abc[1]对应的值是1 ,以此类推。此方法数组元素下标索引与值的对应关系如下图:
数组元素与下载索引的对应关系

 

Java如何修改数组元素的值?
这个问题其实很简单,因为前已经讲过可以把数组理解成一大堆变量的集合,既然是变量那么直接像变量那样再次赋值就可以了,举例说明:

int[] abc=new int[3];
abc[0] = 0;
abc[1] = 1;
abc[2] = 2;

/*如果我们想把下标是0的元素对应的值改成100 ,只需向下面这样重新给它赋值即可*/
abc[0] = 100;

//这时的abc[0]的值已经不再是0而是100了

System.out.print(abc[0]); //通过print语句把下标为0的元素值打印出来

以上就是java整数型数组最基本的用法,我们套用上面的格式可以衍生出其它类型的数组,只需要改变数据类型关键字和对应的值即可,例如字符串数组,举例如下:

定义字符串数组

String[] str=new String[2]; //首先声明一个字符串数组,包含两个元素
str[0]="这是第1个元素的值";
str[1]="这是第2个元素的值";

/*以上几行代码可以用刚才讲过的简便方法代替,代码如下:*/

String[] str={"这是第1个元素的值", "这是第2个元素的值"};

需要注意的是:字符串数组元素对应的值要用双引号引起来,这点和普通变量赋值时的原则一样。

Java如何读取数组元素的值?
这里只有一个关键点,只要知道对应的元素下标就能读取,举例说明:

//先定义一个数组
int[] abc=new int[3];
abc[0]=0;
abc[1]=1;
abc[2]=2;


/*比如我们想用一个变量来保存已经数组中某个元素的值可以这样做,代码如下:*/

int num1=abc[1]; //数组abc第2个元素的值赋给了变量num1

int num2=abc[0]; //数组abc第2个元素的值赋给了变量num2

//此时 num1=1, num2=0

在读取数组元素时,一定要知道当前下标是否已经超出数组定义的范围,否则会出现"下标越界"的错误。比如某数组有2个元素,但调用了第3个元素的下标。举例说明:

//先定义一个数组,包含2个元素
int[] abc=new int[2];
abc[0]=0;
abc[1]=1;

int num1= abc[0]; //读取第1个元素的值赋给变量num1
int num2= abc[1]; //读取第2个元素的值赋给变量num2

int num3= abc[2]; //读取第3个元素的值赋给变量num3, 这时会发生下标越界的错误,因为数组abc根本没有第3个元素abc[2]

Java数组总结:
Java数组可以定义成多种类型,与定义时的类型关键字有关。
Java数组的创建有两种常见方式,一种是通过new关键字实例化对象然后再对元素逐一赋值,另一种是通过把多个值用逗号分隔写入大括号。
无论是给数组元素赋值还是读取元素的值都要注意下标是否超出定义的范围,否则会发生”下标越界“的错误

昵    称:
验证码:

相关文档: