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[].
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[].
相关文章推荐
- 【Java学习笔记】基础知识学习4【数组的基本知识】
- 学习笔记 Java_毕向东_流程控制语句_函数_数组 2014.7.30
- Java学习笔记(三):数组
- Java菜鸟学习笔记--数组篇(三):二维数组
- java学习笔记之 (各种数据类型的数组元素的默认值)
- 黑马程序员 java学习笔记——数组
- java学习笔记---数组
- java学习笔记5.21(数组)
- 黑马程序员_java数组学习笔记
- 黑马程序员 Java基础学习笔记3 循环和数组
- JAVA学习笔记21——多维数组+数组常用方法
- JAVA学习笔记——数组
- 黑马程序员——学习笔记04.java数组
- (Java笔记学习2)数组
- (Java笔记学习3)有序数组的构建
- JAVA学习笔记之数组
- 黑马程序员----java学习笔记之数组知识点
- Java学习笔记―第八章 数组
- JAVA学习笔记_判断二位数组是否存在连续4个数的值相同
- 黑马程序员--Java基础学习笔记【数组操作、基本数据类型包装类】