JAVA数组类型学习!
一。数组的创建
1。创建一个包含12个 int 类型元素的数组对象:
也可以通过下面两步完成同样的任务:
- int a[];
- a = new int[12];
2。创建一个包含12个 String 类型元素的数组对象:
- String s[] = new String[12];
3。创建 double 类型元素的数组对象:
此声明等价于:
- double array1[];
- double array2[];
或
- double[] array1;
- double[] array2;
二。数组的初始化
1。数组初始化的声明:
- int n[] = { 10, 20, 30, 40, 50 };
创建了一个有5个元素的数组,它的索引值分别为0,1,2,3和4。元素n[0]=10,n[1]=20,以此类推。
这个声明没有用new来创建数组对象。当编译器遇到包含初始化表的数组声明时,会自动计算表中的元素数量,并将它作为数组的大小,然后“在幕后”进行合适的new操作。
2。一个数组的初始化例子
- // fig.7.3: InitArray.java
- public class InitArray
- {
- public static void main(String args[])
- {
- int array[] = {32, 27, 64, 18, 95, 14, 90, 70, 60, 37};
- System.out.printf("%s%8s\n", "Index", "Value");
- for(int counter = 0; counter < array.length; counter++)
- System.out.printf("%5d%8d\n", counter, array[couter]);
- }
- }
运行的结果:
-----------------------------------------------------------
Index Value
0 32
1 27
2 64
3 18
4 95
5 14
6 90
7 70
8 60
9 37
-----------------------------------------------------------
三。用增强for语句遍历数组
for (parameter : arrayName)
statement
其中parameter包括类型和标识符两部分(如 int number),arrayName是要遍历的数组。参数的类型必须与数组元素的类型匹配。
例:
// 增强for语句:
- for ( int number : array )
// 等效于下列语句:
- for ( int number = 0; number < array.length; number++ )
四。多维数组
1。创建一个int类型的3x4的数组的引用:
- int a[][];
- a = new int[3][4];
2。创建各行长度不同的多维数组:
- int b[][];
- b = new int[2][]; // 创建只有2行(row)的数组
- b[0] = new int[5]; // 创建0行有5列(column)的数组
- b[1] = new int[3];
3。多维数组的初始化
例1:
- int a[][] = { {1, 2}, {3, 4} };
运行的结果:
-----------------------------------------------------------
1 2
3 4
-----------------------------------------------------------
例2:
- int a[][] = { {1, 2}, {3}, {4, 5, 6} };
运行的结果:
-----------------------------------------------------------
1 2
3
4 5 6
-----------------------------------------------------------
4。多维数组遍历举例
例1:下面的for语句将数组a第2行的所有元素设置为0:
- for ( int column = 0; column < a[2].length; column++)
- a[2][column] = 0;
它与下面的赋值语句等价:
- a[2][0] = 0;
- a[2][1] = 0;
- a[2][2] = 0;
- a[2][3] = 0;
例2:下面的嵌套for语句对数组a中的所有元素求和:
- int total = 0;
- for ( int row = 0; row < a.length; row++)
- {
- for ( int column = 0; column < a[row].length; column++ )
- total += a[row][column];
- }
阅读(1032) | 评论(0) | 转发(0) |