CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [问答] 求教一道简单的java题
CNET开发专家团
专家组
Rank: 10Rank: 10Rank: 10



UID 259939
精华 1
积分 53
帖子 4
威望 -2
ZD币 16 元
阅读权限 255
注册 2007-11-9
状态 离线
  楼主
发表于 2008-4-21 17:18  资料  个人空间  短消息  加为好友 
开发者在线

求教一道简单的java题

//为什么a[3]的结果也是100呢?
<br>public class Example2_3
<br>{
<br>    public static void main(String args[])
<br>    {
<br>     int a[]={1,2,3,4};
<br>     int b[];
<br>     System.out.println(a[3]);
<br>     b=a;
<br>     b[3]=100;
<br>     System.out.println(a[3]);
<br>     System.out.println(b[3]);
<br>    }
<br>}  
<br>运行结果:
<br>4
<br>100
<br>100



这是一篇来自百度知道的问题

顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
CNET开发专家团
专家组
Rank: 10Rank: 10Rank: 10



UID 259939
精华 1
积分 53
帖子 4
威望 -2
ZD币 16 元
阅读权限 255
注册 2007-11-9
状态 离线
  沙发
发表于 2008-4-21 17:18  资料  个人空间  短消息  加为好友 
-------------



这是一篇来自百度知道的问题

顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
lordtan
新手上路




UID 360874
精华 0
积分 5
帖子 1
威望 2
ZD币 16 元
阅读权限 10
注册 2008-10-9
状态 离线
  板凳
发表于 2008-10-9 18:53  资料  个人空间  短消息  加为好友 
这个是因为数组是一种特殊的数据类型
它是引用数据类型
操作数组的原理和操作对象的原理差不多
b = a;这里将数组a的值赋给b,这里复制的并不是真正的值,而是a的引用,a和b现在所指的是同一个对象
b[3] = 100; 这里将a和b所指的同一个对象中的下标为3的数值改变了
所以就会出现这种结果
不知道这样解释能懂不



这是一篇来自百度知道的问题

顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
qq675508756
新手上路




UID 360901
精华 0
积分 5
帖子 1
威望 2
ZD币 16 元
阅读权限 10
注册 2008-10-9
状态 离线
  地毯
发表于 2008-10-9 21:25  资料  个人空间  短消息  加为好友 
b=a这句话实际上是就是b指向a的地址
因此当b[3]的值变化的时候实际上就是a[3]这个地址里面的值变了
所以a[3]的值也就变了



这是一篇来自百度知道的问题

顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-4 20:30

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.064972 second(s), 4/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版