您的位置:首页 > 编程语言 > Java开发

java数组学习笔记二:

2007-08-28 21:33 507 查看
1.对于引用自同一个数组的不同数组对象,如果其中一个改变了它的元素,则另外一个引用的对象和被引用的数组本身也相应地跟着改变. 如下例:

package jie.com;

public class AdvanceArray {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int[] arr={1,2,3,4,5};
int[] tmp1=arr;
int[] tmp2=arr;

for(int i=0;i<tmp1.length;i++)
{
System.out.print(tmp1[i]+" ");
}

System.out.println();

for(int i=0;i<tmp2.length;i++)
{
System.out.print(tmp2[i]+" ");
}

System.out.println();

tmp1[3]=9;

for(int i=0;i<tmp2.length;i++)
{
System.out.print(tmp2[i]+" ");
}

System.out.println();
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+" ");
}
}

}

2.不可以用==来比较两个数组的元素值是否相等. 使用==比较对象时,是用来 测试比对两个对象名称是否引用自同一个对象,也就是

测试两个对象名称是否绑定至同一个对象. 如下例:

package jie.com;

public class TestArrayValue {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr1={1,2,3,4,5};
int[] arr2={1,2,3,4,5};

int[] tmp=arr1;

System.out.println(arr1==tmp);
System.out.println(arr2==tmp);
}

}

3.foreach 与数组

package jie.com;

public class TestArrayValue {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr1={1,2,3,4,5};
int[][][] arr2={{{1,2,3,4,5},{6,7,8,9,10}},{{11,12,13,14,15},{16,17,18,19,20}}};

//int[] tmp=arr1;

//System.out.println(arr1==tmp);
//System.out.println(arr2==tmp);

for(int element:arr1)
{
System.out.print(element);
}

System.out.println();

for(int[][] row:arr2)
for(int[] vol:row)
for(int element:vol) //从这里可以看出二维数组应该怎样存取的! 所谓的触类旁通嘛!
{
System.out.println(element);
}
}

}

4.对象数组

int[] arr=new int[3]:产生几个对象? 答:产生一个对象,因为数组是一个对象而已,只不过里面包含了三个整数.

int[][] arr=new int[2][3]:产生几个对象? 答:产生三个对象: int[][]算一个,还有就是其中包含的两个int[],总共三个.

Integer[] arr=new Integer[3]:产生几个对象? 答:产生一个对象:这和基本数据类型是一样的解释.

Integer[][] arr=new Integer[2][3]:产生几个对象? 答:也是产生三个对象:Integer[][],Integer[],Integer[].
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: