JAVA数组问题
如果一个数组(假设类名是Abc)Abc[]a那么a这个变量表示的是什么意思是数组的首地址还是a[0]?a=null是用来判断什么的?...
如果一个数组(假设类名是Abc) Abc[] a那么 a 这个变量表示的是什么意思 是 数组的首地址 还是 a[0]?a=null是用来判断什么的?
展开
2个回答
2014-03-01
展开全部
其实跟声明String a变量一样 a是一个引用名称 而ABC[] a也是一样的 在内存看来a代表了一段内存空间,由于是数组类型的,是连续性的,而数组中的成员a[0] a[1]...等等都是a这段内存连续空间里面的数据,变量也是一样的 只是String 类型的a这个内存空间存放着一个String类型的数据
a只是表示数组的引用名称,也就是内存地址,首地址的确是a[0],因为在X86体系架构中,CPU寻址方式就是 物理地址=基础地址+偏移地址 而这里基础地址就是a所在的内存地址 偏移地址就是a[0] a[1]等下标操作的地址 所以这样cpu会去计算这a这一段的数据,您可以把他想像成一个表格,首列就是第一格就是a[0]然后再往下,第二格是a[1]。。。
ABC[] a=null是指将该数组内所有元素初始化为空值,null代表空值,而不是空,也就是每个数组元素中存放的是特定的null代表为空。这一点是基于数据结构的安全考虑的。当然也可以用来判断a[i]元素是否为空了。
C中int a[5] 则存放的是数据的地址,而不是存放这个数据的实在数值。CPU通过寻找这个地址进行运算。
a只是表示数组的引用名称,也就是内存地址,首地址的确是a[0],因为在X86体系架构中,CPU寻址方式就是 物理地址=基础地址+偏移地址 而这里基础地址就是a所在的内存地址 偏移地址就是a[0] a[1]等下标操作的地址 所以这样cpu会去计算这a这一段的数据,您可以把他想像成一个表格,首列就是第一格就是a[0]然后再往下,第二格是a[1]。。。
ABC[] a=null是指将该数组内所有元素初始化为空值,null代表空值,而不是空,也就是每个数组元素中存放的是特定的null代表为空。这一点是基于数据结构的安全考虑的。当然也可以用来判断a[i]元素是否为空了。
C中int a[5] 则存放的是数据的地址,而不是存放这个数据的实在数值。CPU通过寻找这个地址进行运算。
2014-03-01
展开全部
数组Abc[] a a是数组名。Abc是类名,这是一个引用数据类型的数组,存入这个数组的必须要是Abc这个类的对象才行。说白了,Abc[] a是一个对象数组,数组中的每一个元素都是Abc这个类的对象。 如果楼主想判断一个数组中元素是否为空(null)可以用if语句+循环来进行判断。代码: for(int i=0;i<a.length;a++){
if(a[i]==null){
System.out.println("数组的第"+i+"个元素为null");
}
}望采纳!
if(a[i]==null){
System.out.println("数组的第"+i+"个元素为null");
}
}望采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询