main方法中的变量算不算局部变量?

cart55free99 2009-09-10 11:08:45
public class T {
public static void main(String args[]){
int a[]=new int[10];
System.out.println(a[6]);
}

}

为什么数组会有一个默认值呢?main方法中的变量不算局部变量吗?
...全文
224 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cz61919345 2009-09-10
  • 打赏
  • 举报
回复
是局部变量,只是创建数组后,系统会给数组一个默认的初值!
holicc 2009-09-10
  • 打赏
  • 举报
回复
是局部变量,只是你创建数组后,系统会给每个数组元素一个默认的值,如果是int类型,则默认值是0,如果是float型,则默认值是0.0;
byyoung 2009-09-10
  • 打赏
  • 举报
回复
对于原始类型数组,在用new构造完成而没有初始化时,JVM自动对其进行初始化。默认值:byte、short、 int、long--0 float--0.0f double--0.0 boolean--false char--'"u0000'。(无论该数组是成员变量还是局部变量)
lxxzhy 2009-09-10
  • 打赏
  • 举报
回复
a是局部变量,如果你没有new int[10],那么它就是unassigned的.

至于为什么a[6]有0这个值,因为数组也是对象,a[6]是a这个对象里面的内容,当你new的时候就会自动将a对象的属性初始化,跟你new其它类对象的时候,会初始化该类的成员变量是一样的道理.
cart55free99 2009-09-10
  • 打赏
  • 举报
回复
如果是局部变量,那么为什么或有初始值?
铁匠梁老师 2009-09-10
  • 打赏
  • 举报
回复

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧