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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈世伟 黑马帝   /  2012-4-15 15:54  /  2728 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int[] score= new int[5];

在这里为什么要加个new,new代表什么意思,如果不加new可以吗?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

14 个回复

倒序浏览
胡杰震 来自手机 中级黑马 2012-4-15 16:40:50
沙发
表示初始化数组,这里不加不可以!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
不加 语法错误

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
因为数组属于引用数据类型,它在内存中都是以堆栈的形式存储的,就像new了一个类 的对象。如果没有new
可以直接赋值:int[] score={num1,num2,num3};

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
java中数组是引用型数据类型,引用型数据类型类型,首先定义,再在堆空间中new出来(申请大内存空间),例如:上面的 score是局部变量在栈空间申请一个小内存,里面装的是一个地址,指向new出来的一块堆空间。这像C语言中的指针,只是java中是隐性的。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
数组是引用类型,类也是引用类型 你使用时候也会new一个类

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
就相当于实例化了一个对象,如果你知道具体数组的长度可以不加的,比如
int[]  score={2,3,4,5,6}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
周健 中级黑马 2012-4-16 13:47:17
8#
new代表实列化对象,不加不行,除非你直接定义数组的长度

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
因为数组的实例是放在内存堆(heap)上的,只要是放在内存堆上的数据,就必须使用new
关键字在堆上开辟一个空间,这是c#中的一个语法规定。
根本就不存在说 可以不加new关键字的这种说法。
不管你是用哪种方式申明数组,
int[] intarr = new int[2];
int[] intarr = new int[]{1,2};
iint[] intarr = new int[2]{1,2};
int[] intarr = {1,2};

都会调用new关键字,最后一种,表面上没有使用new 那是因为程序在后台已经帮你实现
了new这个关键字了。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
数组的4种声明方式:
数据类型[] 数组名=new 数据类型[数组大小];
数据类型[] 数组名=new 数据类型[数组大小]{值1,值2。。。。};
数据类型[] 数组名=new 数据类型[]{值1,值2,值3。。。。};
数据类型[] 数组名=new 数据类型[]{};//注意这里声明的数组,长度为0,空值。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
还有一种
数据类型[] 数组名={值1,值2,值3。。。。};这是直接给数组赋值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
int[] score= new int[5];  此语句中new是在内存为数组开辟一段空间,若不加new,可能在内存找不到score数组,希望对你有帮助哦!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
用于创建对象和调用的构造函数。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
用来给数组分配空间。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
数组是类型,通过new来实例化一个数组对象,并在堆中分配空间。数组是引用类型。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马