数组的作用
在执行程序的过程中,通常会需要存储大量数据。如果只有少量数据,那么通过声明变量,存储到变量中即可。但当我们的数据是20个、40个甚至是100以上时,就意味着需要声明很多变量,这是不现实的,不仅影响程序阅读,而且效率低下,不符合程序优化。这时就需要采用一个有条理并且高效的方法来存储大量数据。数组是一种数据结构,可以用它来存储元素数量固定且元素类型相同的有序集。 如果要存储100个int型的数据,可以把它们存储到一个一维数组中。 例如:int[] values = new int[100]; 一维数组和二维数组及多维数组的区别后续说明。
数组一旦创建,大小就固定,所以要注意元素数量是否大于数组长度。访问数组元素时,通过下标进行访问,数组第一位下标从0开始,所以数组最后一位下标,为数组长度-1。访问数组的第一位元素: values[0], 第二位元素:values[1] , 以此类推。
简单理解:数组是用于存储同类型数据的集合,而变量是存储单个数据。所以可以将数组看作一个存储相同类型的变量集合,将数组理解为一次性声明多个同类型的变量,并 统一管理。
定义一维数组
声明一维数组 elementType[] name; //元素类型[] 数组名
创建一维数组 new elementType[size]; //通过new操作符,创建指定类型和指定大小的数组。
注意:声明一个数组变量并不会在内存中开辟空间,它只是创建一个对数组引用的存储位置,用于指向数组的内存地址。如果数组变量未指向一个数组引用,则默认值为null,表示引用为空。 这里可以间接表明数组是一种对象类型(引用类型)。
通常情况下,声明数组和创建数组是一次完成,例如:String[] str = new String[10]; 创建一个大小为10,String类型的数组,并将其数组引用赋给数组变量str。通常来讲,将str变量称为数组即可,它们的区别可以忽略。
此时str数组是没有元素的,给数组元素赋值:
String[] str = new String[10];
str[0] = "Java"; //第一位元素赋值
str[1] = "C++"; //第二位元素赋值
str[2] = "Python"; //第三位元素赋值
//.........依次类推,直到str[str.length-1]
如果已经知道数据,并且不多的情况,可以使用数组的初始化语法简化操作,两种方式都一样,推荐第一种。
String[] str = {"Java","C++","Python"};
String[] str = new String[]{"Java","C++","Python"};
注意:如果定义了数组,但未对数组元素进行初