黑马程序员技术交流社区

标题: 关于数组问题 [打印本页]

作者: 521123270    时间: 2015-5-17 10:40
标题: 关于数组问题
int[] arr = new int[10];
  System.out.println(arr[0]);  打印结果是什么?请详细说明原因!!{:3_64:}
作者: zzlin    时间: 2015-5-17 10:40
结果:0.int类型的数组默认初始化为0、String类型数组默认初始化为null
作者: as604049322    时间: 2015-5-17 13:24

结果:0.int类型的数组默认初始化为0、String类型数组默认初始化为null
作者: 桂翔    时间: 2015-5-17 13:50
int [] arr = new int[10]这句的意思是 声明了一个int类型的数组 占用10个连续的int大小的空间
因为没给该数组初值,数组类型是int,所以默认初值是int的默认值 0
作者: 不二情-昊    时间: 2015-5-17 15:30
int[] arr = new int[10];
只是声明了一个长度为10 的int数组,并未给数组中的元素进行赋值,
而数组时引用数据类型,系统会对其元素进行默认初始化赋值,int型默认初始化为0
此时打印数组中任一元素的值都是0
作者: 牛奋    时间: 2015-5-17 15:39
打印结果是0。这是堆内存的特点,数组和对象,通过new建立的实例都存放在堆内存中,而堆的特点z是:1、每个实体都有内存地址值2、实体中的变量都有默认初始化值,int是0,double是0.0,float是0.0f,boolean是false。
作者: 滚雪    时间: 2015-5-18 01:37
0,因为int类型的数组元素初始化为0
作者: 540561263    时间: 2015-5-18 12:50
输出结果是0,int类型的数组默认初始化为0,反之你输出任何arr数组里面的角标都是0.
作者: 青少年    时间: 2015-5-18 13:46
结果是0,上边的推理很清楚,如果推理不出来可以用eclipse打断点一步一步测
作者: zlynnb2015    时间: 2015-5-18 22:16
10为该数组长度,当这个数组加载到堆内存里面后就会默认初始化值,基本类型的数组默认值是0.
作者: 夏尔    时间: 2015-5-19 08:47
int类型的数组默认初始化结果为0
作者: 笔墨痕干    时间: 2015-5-19 11:08
0,没有赋初始值,int类型默认为0
作者: 小麻    时间: 2015-5-19 20:37
结果为0.   
首先int[] arr = new int[10];  这个语句是定义了一个数组,数组的长度为10.(里面可以放10个元素) 。你没初始化,所以系统会默认初始化为0 并且初始化的类型为int  .   arr[0]就是打印数组的第一个元素 所以是0
作者: Say丶懒羊羊    时间: 2015-5-20 16:40
int类型的空值的话打印的是0




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