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);
}
}

多维数组和二维数组几乎差不多。

 

posted on 2012-10-05 12:02  kiny  阅读(378)  评论(0编辑  收藏  举报