A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天方地圆 中级黑马   /  2014-4-10 18:58  /  1423 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public static void main(String[] args) {
  2.                 int[] arr = new int[10];
  3.                
  4.                 System.out.println(arr[0]);
  5.         }
复制代码

不论是arr[0]还是其他怎么这个结果 都是0?

13 个回复

倒序浏览
你没有初始化,默认为0
回复 使用道具 举报
本帖最后由 赵小豪 于 2014-4-10 19:35 编辑

对啊,这个数组没有进行赋值,那么声明后int类型的初始值都是0.

20140410193518476.jpg (138.94 KB, 下载次数: 29)

20140410193518476.jpg
回复 使用道具 举报
int类型数组内的元素没有初始化,默认的初始化值是0
回复 使用道具 举报
因为新创建的int类型数组中,默认的初始化值为0
回复 使用道具 举报
public static void main(String[] args) {
                int[] arr = new int[10];
               
                System.out.println(arr[0]);
        }
系统在你没有给整形变量赋值时,默认值为0 ;
类似的,布尔型默认为false
回复 使用道具 举报
int数组默认值被初始化为0  说以数组小标0-9中的值全部是0
回复 使用道具 举报
int类型没赋值,默认为0;因为int是基本类型。
下面代码,打印的值一个为0,一个为null。
int这种基本类型不能赋值为null。默认就是0.
String这种引用类型的,默认就是null了。
  1. int[] intarr=new int[5];
  2.                 System.out.println(intarr[0]);
  3.                 String[] strarr=new String[5];
  4.                 System.out.println(strarr[0]);
复制代码

回复 使用道具 举报
果粒橙Cc 来自手机 中级黑马 2014-4-10 23:35:40
9#
数组在堆内存中默认初始化值为0。你只表示了数组的长度没有给它进行初始化
回复 使用道具 举报
NO? 中级黑马 2014-4-11 00:25:14
10#
飘过:默认初始化值
回复 使用道具 举报
数据在没有赋值前是默认为0,但是多维数据就不是这样的。例如二维:
//二维数据初始化的默认值。
public class Test {
        public static void main(String[] args){
                int[][] arr = new int[3][4];
                System.out.println(arr[0]);
        }
}


输出是[I@1fe8714    地址值
回复 使用道具 举报
因为一维数组在初始化之后没有被赋值的话,数组中的每个元素(注意,是一维数组,二维数据是不一样的)的值就会取该数据类型的默认值,也就是int类型的默认初始化值0,所以arr数组中每个元素的值都是0
回复 使用道具 举报
你上面写的 new int[10],是指 这数组大小是10,而你下面打印arr【0】,是打印该数组第一个数据,数据默认初始化是0,所以你打印的都是0,如果你想打印别的东西,你得赋予这数组数据
回复 使用道具 举报
欧~ int[] arr 没有初始化 数组默认值为0  这个很容易理解啊 不然你认为他应该是什么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马