数组

数组定义:

 1、int [] ss={1,2,3};             直接赋值

2、int [] sss=new int[]{1,2,3};     直接赋值,后面的[]中不能写数组长度

3、int [] s=new int [1];       声明数组类型长度,后面给他再赋值

如果数组没有赋值,那么他们的默认数值是:

String[]     是null;

Char[]      是空格;

Int []       是0;

Double[]    是0.0;

Float[]      是0.0;

Boolean[]    是null。

数值型变量初始化默认为0,boolean型默认为false

Char默认为空字符

引用数据类型(String)默认为null

地址引用说明:

1、

这里的infoli是自己new了空间,然后加载了infozhang的数据,所以当infoli的成员改变的时候,infozhang的成员是不会改变的!

int []  infozhang={170,60};  //{身高,体重}

int []  infoli=new int[2];

for(int i=0;i<infozhang.length;i++){

           infoli[i]=infozhang[i];

                          System.out.println("张三"+infozhang[i]);

                          System.out.println("李四"+infoli[i]);

        }

//改变信息

infoli[0]=180;

infoli[1]=70;

  for(int i=0;i<infozhang.length;i++){

           System.out.println("张三"+infozhang[i]);

                System.out.println("李四"+infoli[i]);

       }

2、

这里的infoli没有new,而是直接获得了infozhang的地址引用,所以说infoli和infozhang现在所引用的地址都是infozhang的,当改变infoli的数据时也就是改变了infoli和infozhang共同的地址引用数据,虽有两者的数据都会改变。

int []  infozhang={170,60};  //{身高,体重}

int []  infoli =infozhang;===èint[] infoli=new int[2];  infoli=infozhang;(这里虽然infoli new了,理论上有了自己的地址,但是当infoli=infozhang,infoli的地址已经被infozhang的地址已经覆盖了,所以new可以说没意思了)

for(int i=0;i<infozhang.length;i++){

                          System.out.println("张三"+infozhang[i]);

                          System.out.println("李四"+infoli[i]);

        }

//改变信息

infoli[0]=180;

infoli[1]=70;

  for(int i=0;i<infozhang.length;i++){

           System.out.println("张三"+infozhang[i]);

                System.out.println("李四"+infoli[i]);

posted @ 2012-11-09 15:45  AZ_mxl  阅读(145)  评论(0)    收藏  举报