如果有C/C++实现,这并不难,难在JAVA的数组跟C/C++的数组有很大的不同。我现在是头大的要死。我决定要攻下数组,下面是我通过帖子总结的:数组
java语言中,数组是一种最简单的复合数据类型。数组是相同数据类型数据的有序集合。其元素可以用数组名和下标来唯一地标识。数组分一维数组和多维数组。
一维数组
一维数组变量的定义
方法一:dataType[]arrayName;
方法二:dataType arrayName[];
arrayName将用来标识其元素类型为dataType的一维数组。此时此刻,它只是一个标识。
这两种方法等价,但java提倡方法一。java之所以还用方法二,只是为了让C/C++程序员能够快速理解java语言。
一维数组变量的赋值
方法一:arrayName=new dataType[arraySize];
方法二:arrayName=new dataType[]{value0,value1,…,valuek};
public class Demo {
public static void main(String[] args){
int[]a;
a=new int[3];System.out.println(a[0]+","+a[1]+","+a[2]);
a=new int[]{1,2};System.out.println(a[0]+","+a[1]);
}
}
程序输出:
0,0,0
1,2
一维数组变量的初始化
方法一:dataType[]arrayName= {value0,value1,…,valuek};//
静态初始化,是在栈上分配的?
方法二:dataType[]arrayName=new dataType[arraySize];//
动态初始化,是在堆上分配的?
方法三:dataType[]arrayName=new dataType[]{value0,value1,…,valuek};//
动态初始化
public class Demo {
public static void main(String[] args){
int[]a={1,2,3};System.out.println(a[0]+","+a[1]+","+a[2]);
double[]b=new double[3];System.out.println(b[0]+","+b[1]+","+b[2]);
int[]c= new int[]{1,2,3};System.out.println(c[0]+","+c[1]+","+c[2]);
}
}
程序输出:
1,2,3
0.0,0.0,0.0
1,2,3
public final int length():返回数组长度
还有很多不足,我没搞明白,还在阅读中,网上帖子写的都乱,要多花时间……
[此贴子已经被作者于2016-10-16 18:09编辑过]