讲义六 java中的数组

数组可以看作不同大小的车子,有固定的座位数。在C、C++中座位是在设计(声明)的时候就固定了的,而在java中可以在制作阶段(初始化)时,根据实际定下来。

一维数组的初始化有两种方式:

1、声明时初始化等同于C/C++

值得一提的是,

int c[4] = {1,2,3,3};//第一种,C&C++中is right!而在java中is wrong!!
int d[] = {2,0};//而第二种在哪里都是right!

2、使用new初始化

例如:

		int []array;
		array = new int[10];
		array[0] = 0;
		System.out.println("a:"+array[0] );
对于对象类型的数组,可以

Integer a[] = {new Integer(60),new Integer(2) };

		System.out.println("a:"+a[0] );
		float[] b = new float[]{1,2,3,4,5};
		System.out.println("b:"+b[3] );
class Her{
	int a = 0;
}
.
.
.
Her []h = new Her[7];
	Her []her;
	her = new Her[2];

二维数组的初始化类似于一维数组,有以下形式:

int arr[][];

arr = new int[1][2];

或者

int arr[][] = new int [1][2];

又或者

int arr[][];

arr[3][];

arr[0] = new int[3];

arr[1] = new int[2];

arr[2] = new int[1];

又又或者

int d[][];
d = new int[2][];

d[0] = new int[2];

总之,java数组在声明的时候,数组名字后面不能定义数组长度。而在C\C++ 中,二维数组第一维大小可以空着,第二维则必须写清楚,即int arr[][2]={1,2,3,4},且后面必须初始化!在我看来,归根结底,是C\C++、java要给数组开辟固定大小空间,也就是说是静态的,所以要在声明时就确定下来占用内存大小;而在java中,数组只是把声明和定义分开来而已,声明可以不确定大小,而在定义时必须确定大小。二维以上的规则等同于二维。


你可能感兴趣的:(java,基础,数组,与C++的区别)