黑马程序员技术交流社区

标题: 为什么是0 [打印本页]

作者: 刘永贵    时间: 2014-3-4 17:55
标题: 为什么是0
public class Demo {
        public static void main(String[] args) {
                int[ ]  arr = new int[10] ;
                System.out.printLn(arr[0]);
        }
}

为什么运行时的结果是0

麻烦路过的大师为我解答一下

作者: kira    时间: 2014-3-4 17:56
本帖最后由 kira 于 2014-3-4 17:57 编辑

因为你的第一个数组角标没赋值 只是给了个10长度 所以数组的第一个元素默认就是0 而且代码还写错了

作者: 目标    时间: 2014-3-4 17:58
数组是有默认初始化值的 arr[0] 你也没有对其设置其他值,所以它显示的是默认值0
作者: 薛旻    时间: 2014-3-4 18:07
创建了数组又没有赋值,虚拟机就给你赋了默认的初值,int型的话默认值就是0了
作者: 赵卓辉    时间: 2014-3-4 18:45
数组是引用类型,数组分配空间后,每个元素也被被隐士初始化。你定义了int型的数组,因此默认初始化为0
作者: 学习代码    时间: 2014-3-5 17:23
因为默认初始化值就是0   
作者: nicholyx    时间: 2014-3-6 22:17
int[ ]  arr = new int[10] ;
new运算符在堆内存创建一个数组对象,
凡是在堆内存产生的变量都有默认初始化值,int默认是0
作者: 山治0712    时间: 2014-3-7 00:06
int类型的初始化就是0




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2