定义:数组是一组类型相同的数据的有序集合。其中每个数据称作数组元素,每个数组元素可以通过一个下标来访问。
数组元素的类型可以是任意类型(包括基本类型和引用类型),但同一个数组内只能存放类型相同的元素。
- 数组变量的声明。
首先必须声明一个数组类型的引用变量,简称数组变量,才能在程序中使用数组。
dataType[] arrayRefVar;
以下数组变量的声明方式也是合法的: dataType arrayRefVar[]; 声明数组变量的时候,不能指定数组的长度,数组的长度在创建数组时指定。以下声明方式是非法的:
dataType arrayRefVar[30];
- 数组的创建。
Java语言使用new操作符来构造数组的实例,语法如下:
arrayRefVar = new dataType[arraySize];
new语句为数组元素分配内存,并且为数组中的每个元素赋予初始值,即初始化,默认值依数组的数据类型不同而不同。 数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1。数组变量的声明和创建数组可以用一条语句完成,如下所示:
dataType[] arrayRefVar = new dataType[arraySize];
以上适用于不使用初始化的数组。当数组特别长时,不初始化,值都是默认值。
- 数组赋值。
数组赋值有三种方式:
1>使用 new 指定数组大小后进行初始化(动态初始化)使用 new 关键字创建数组,在创建时指定数组的大小(长度),在为元素赋值时才确定值。语法如下:
dataType[] arrayRefVar = new dataType[arraySize];
示例:
int[] number = new int[3];
umber[0] = 1;
number[1] = 2;
number[2] = 3;
2>使用 new 在初始化时就指定数组元素的值(静态初始化)语法如下:
dataType[] arrayRefVar = new dataType[]{值 1,值 2,值 3,值 4,...,值 n};
3>直接指定数组元素的值在上述两种方式的语法中,dataType 可以省略,如果已经声明数组变量,那么直接使用这两种方式进行初始化。 如果不想使用上述两种方式,那么可以不使用 new 直接指定数组元素的值。语法如下:
dataType[] arrayRefVar = {值 1,值 2,值 3,值 4,...,值 n};
- 数组遍历。
语法:
for(int i = 0;i< 数组名称.length;i++){
数组名称[i];
}
我们在程序中,定义了一个变量 i,用 i 的值和数组的长度值比较,因为数组的索引是从 0 开始的,所以我们遍历的数值只能够小于“数组名称.length”。
示例:
1>for循环遍历数组 在遍历数组的时候,我们不仅仅可以给数组赋值,也可以将值获取出来。
package com.haicoder.net.array;
public class ArrayTest{
public static void main(String[] args){
int scores[] = new int[3]; //定义一个数组
for (int i = 0; i < scores.length; i++) { //给数组动态赋值
scores[i] = (i + 98);
}
System.out.println("======数组赋值成功,遍历打印出来======");
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
}
}
运行结果:
======数组赋值成功,遍历打印出来======
98
99
100
从运行结果我们可以看到,我们定义了一个数组,数组的长度为 3,然后我们使用 for 循环给每个位置上的数组赋值。并且遍历让数组里面的元素打印出来。
2>foreach循环遍历数组
package com.haicoder.net.array;
public class ArrayTest{
public static void main(String[] args){
System.out.println("嗨客网(www.haicoder.net)");
int scores[] = {1,2,3}; //定义一个数组
for(int x : scores){
System.out.println(x);
}
}
}
foreach的语法:
for(元素类型 元素名称 : 遍历数组(集合)(或者能进行迭代的)){
语句
}
foreach有的也叫增强for循环,foreach其实是for循环的一个特殊简化版。
foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次数未知,或者计算循环次数比较麻烦情况下使用效率更高,但是更为复杂的一些循环还是需要用到for循环效率更高。
小结:遍历访问数组里面的元素的时候,我们可以使用 for 方法,为每个位置上面的元素进行赋值。如果单独的想访问里面具体位置的元素的时候,我们需要用 “数组名[数组元素位置] = value” 的方式来赋值。我们可以使用 for 和 foreach 两个方法来遍历数组。
本文暂时没有评论,来添加一个吧(●'◡'●)