Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104416
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 577
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-16 09:51
个人简介

啄木鸟专吃虫,故名啄木鸟。

分类: Java

2014-06-17 15:58:19


点击(此处)折叠或打开

  1. public class Array {
  2.     public static void main(String[] args){
  3.         int[] a1 = {1,2,3,4};
  4.         int[] a2;
  5.         a2=a1;
  6.         for (int i =0;i<a1.length;i++){
  7.             a2[i]++;        
  8.         System.out.print("a1["+i+"]="+a1[i]+" ");
  9.         System.out.println("a2["+i+"]="+a2[i]);
  10.         }
  11.     }

  12. }
输出:

点击(此处)折叠或打开

  1. a1[0]=2 a2[0]=2
  2. a1[1]=3 a2[1]=3
  3. a1[2]=4 a2[2]=4
  4. a1[3]=5 a2[3]=5
为什么a1的每个元素值也会++,原来通过数字a1给数组a2赋值,实际上只是将数组a1的内存地址赋予给数组a2
从而数组a1和数组a2在内存中指向同一个地址。因此,改变了数组a2的值也就相当于改变了数组a1的值。
阅读(331) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~