javaSE数组--Array

来源:互联网 发布:linux安装jdk 编辑:程序博客网 时间:2024/06/07 05:11

数组(Array

相同类型数据的集合叫做数组

 

如何定义有一个数组:

第一种方式

//定义了一个int类型的数组名字为a长度为40~3

int[] a = new int[4];

//数组的index是从0开始的

a[0] = 1;

a[1] = 2;

a[2] = 3;

a[3] = 4;

//对于长度为n的数组最大的索引为n-1

type[] b = new type[数组中元素的个数]:比如 int[] a = new int[10];

 

第二种方式

int a[] = new int[4];

 

java中推荐使用第一种方式因为 int[] a表示aint类型的数组int[]可以看做为类型

 

第三种方式:直接赋值

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

 

第四种方式

Type[]a = new type[]{逗号分隔的初始化数字}

//不能加上数组元素的个数

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

 

Java中的每个数组都有一个属性:lengthà表示数组的长度àlength是一个public final int 的。数组长度一旦确定就无法改变。话句话话说length属性是只读的。

 

Int[] a = {1,2,3};

Int[] b = {1,2,3};

a.equals(b)比较的是地址不是数组内容本身。所以为false

数组中的元素在内存中的存放都是连续的

Int[] a = new int[10]其中a是一个引用,数组变量指向数组的首地址即就是a[0]的地址

 

Null:表示不指向任何对象

 

Person[] p = newPerson[3];

P[0]:初始为null表示没有指向任何的对象

//为数组中的每个元素赋值

P[0] = new Person();

P[1] = new Person();

P[2] = new Person();

 

 

数组中如果是原生数据类型那么数组中存放的就是该元素的值

如果数组是引用数据类型那么元素中存放的就是指向某个类型的引用或者说是地址

二维数组:是一种平面的二维结构也就是数组的数组

 

声明:int[][] i =new int[2][3];声明了一个两行三列的二维数组

 

i[0]就是个数组表示一行

i[0] instanceof int[]à为真(true

 

定义:int[] a[] = newint[2][3];

        Int[][] a = newint[2][3];//java推荐使用此种方式

 

定义不规整的二维数组 int[][] a = new int[3][];

                                   a[0] = new int[2];

                                   a[1] = new int[3];

                                   a[2] = new int[1];

 

int[][] a = new int[][3]à语法中禁止使用不能在确定列的时候不确定行

 

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

 

//交换方法此方法不能发生交换 

    //因为该方法参数为原生参数接收的为参数为传到方法中参数值得拷贝

    //如果传进来的是一个引用那么接收的参数为传到方法中的引用

    publicstaticvoid swap1(int a,int b){

       int temp = b;

       b = a;

       a = temp;

    }

 

Interface i{

}

//这句话是可以的,仅仅是声明将要指向i类型的引用

I[] i =new I[2];

 

Class cimplements I{

}

I[] b = new I[]{new c(),new c()}

 

三维数组:type[][][] a = new type[2][3][4]

 

 

0 0
原创粉丝点击