最近,学习了Java的部分内容,对于Java的学习,在我看来和c++的内容是差不多的,但是在数组这,有了区别,在c++中,数组定义时,已经分配存储空间,并可以使用。 (定义时指定数组大小) 在java中,数组定义时,int arr[],只字义了数组变量,数组是不可以使用的。 只有数组new以后,才会创建数组,分配存储空间,并可以使用。 (定义时指定数组大小是非法的,创建时指定数组大小)
java中数组的静态初始化
int[] c = {1,2,3,4}或者int[] d= new int[]{1,2,3,4}
动态初始化:只指定数组的长度,具体数据不指定数据类型[] 数组名 = new 数据类型[数组长度];
int sy[] = new int[10];
注意:在Java程序中声明数组时,无论用何种方式定义数组,都不能指定其长度。如以“int a[5];”方式定义数组将是非法的,该语句在编译时将出错。
二维数组:特点是在堆内存中,各个一维数组的元素是连续的,但各个一维数组之间不是连续存放的。
动态初始化:
数据类型 [ ][ ] 数组名 = new 数据类型[行数][列数];
int [ ][ ] a = new int [3][4];
静态初始化:
数据类型 [ ] [ ]数组名={ {第1行初值},{第2行初值},{ … },{第n+1行初值} };
注意:数据类型后面的【】中不能定义数组长度,为空。
Java中的数组可以不是一个m*n的矩形;
例如:int [ ][ ] x;x = new int [3][ ];x[0] =new int[3];x[1] =new int[2];
同时,Java和c++还有其他区别,在已经学习的内容来说,Java对于每种数据类型分配固定的长度,而c++在不同的平台数据类型的长度也不一定相同。
Java不支持头文件,面C和C++语言中都用头文件来定义类的原型,全局变量,库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂.



