Java中数组
- 数组的定义以及如何声明和初始化数据
- 访问数组单个元素的方法
- 使用数组单个元素的方法
- 声明多维数组的方法
- 创建维度长度不同的多维数组
学习Java的时候会和Pascal,C#,JavaScript语言比较的一起进行,加强记忆。
一、数组
数组在Java、C#、JavaScript中是对象,在Pascal中不叫对象。个人理解:因为单从存储的位置来看在Delphi中定长数组是在栈上存储的,动态数组、类中的数组、全局数组是在堆上存储。数组是一系列同类型变量的集合(JavaScript)除外,因为JavaScript在一个数组中可以保存不相同数据类型的变量。
例如:下面代码在JavaScript中是完全可行的。
var foo = function(){}; var obj = {}; var arr = ["hello",1,true,foo,obj]; for(var i=0;i<arr.length;i++){ alert(typeof(arr[i])); } //循环打印 //string //number //boolean //function //object
定义数组,数组的初始化,数组的访问
定义数组在不同的语言中大体相同,略有细微的差别。定义数组首先需要声明一个数组变量,JavaScript中可以隐式的声明,但不推荐。
int[] num = new int[100];
这样就定义了一个数组。具体的语法细节不用多说。数组的长度可以用length来获取。访问数组元素用变量名加[]加下标,Java中的数组下标从0到length-1
如果大于等于length会抛出异常ArrayIndexOutOfBoundException。
int[] num = new int[10]; for(int i=0;i<num.length;i++){ num[i] = i+100; } for (int i :num){ System.out.println(i); } //输出结果 /* 100 101 102 103 104 105 106 107 108 109 */
还可以直接申明数组
int[] num = {2,3,4,5,6}
初始化数组还可以调用使用程序中的方法fill
import static java.util.Arrays.fill; int[] num = new int[10]; fill(num,1); for(int i : num){ System.out.println(i); } //数组各元素初始化1
二维、多维数组
//定义一个二维数组 int[][] num = new int[2][3]; //赋值 for(int i=0;i<num.length;i++){ for(int j=0;j<num[i].length;j++){ num[i][j] = (i+1)*j; } } //也可以直接赋值 num[0][0] = 0; num[0][1] = 1; ... num[1][2] = 100;
for(int[] is :num){
for(int i : is){
System.out.println(i);
}
}
多维数组和二维数组几乎差不多。