(二十七)java中数组是不是对象、数组初始化方式

一、

数组是指具有相同类型的数据的集合,他们一般有固定长度,并在内存中占据连续的空间

java中数组有自己的属性(比如length),也可以有一些方法可以被调用(比如clone)。根据对象的特点是封装了一些数据,同时提供了一些属性和方法,从这个角度讲,数组是对象

int[] a={1,2};
		int[][] b=new int[2][4];
		String[] s={"a","b"};
		System.out.println(a.getClass().getName());//[I "["是一维 I是Integer
		if(a instanceof int[]){
			System.out.println("the type for a is int[]");//√
		}
		if(a instanceof Object){
			System.out.println("the type for a is Object");//√
		}
		if(b instanceof int[][]){
			System.out.println("the type for b is int[][]");//√
		}
		if(s instanceof String[]){
			System.out.println("the type is String[]");//√
		}
		//数组不局限于普通类型,可以是任意类
		Woman[] wos=new Woman[10];
		

 

 二、数组初始化方式

①一维

//静态初始化
int[] intArr;
intArr = new int[]{1,2,3,4,5,9};//注意[]里没有数组长度



//在创建时,用new声明空间(动态初始化)
int[]a=new int[5];
a[0]=1;

//变形
int a[];
a=new int[3];
a[0]=1;

②二维

int a[][];
a=new int[][]{{1,2},{3,4}};

[]可以放在String后,也可以放在变量名后
String[] strArr = {"张三","李四","王二麻"};
String strArr[] = {"张三","李四","王二麻"};

int a[][]={{1,2},{3,4}};


注意:不要同时使用静态初始化和动态初始化,也就是说,不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值。

一旦数组完成初始化,数组在内存中所占的空间将被固定下来,所以数组的长度将不可改变。
③任意维度

        int[][] arr={{1},{1,2}};
		int[][] a=new int[2][];//指定行
		a[0]=new int[]{1,2};
		a[1]=new int[]{3,4,5};
		int[][] a=new int[][2];//Cannot specify an array dimension after an empty dimension
		

 

posted @ 2019-02-18 21:59  测试开发分享站  阅读(149)  评论(0编辑  收藏  举报