黑马程序员技术交流社区
标题:
定义数组
[打印本页]
作者:
陈世伟
时间:
2012-4-15 15:54
标题:
定义数组
int[] score= new int[5];
在这里为什么要加个new,new代表什么意思,如果不加new可以吗?
作者:
胡杰震
时间:
2012-4-15 16:40
表示初始化数组,这里不加不可以!
作者:
余晓亮
时间:
2012-4-15 17:03
不加 语法错误
作者:
过客
时间:
2012-4-15 17:19
因为数组属于引用数据类型,它在内存中都是以堆栈的形式存储的,就像new了一个类 的对象。如果没有new
可以直接赋值:int[] score={num1,num2,num3};
作者:
余耀明
时间:
2012-4-15 17:20
java中数组是引用型数据类型,引用型数据类型类型,首先定义,再在堆空间中new出来(申请大内存空间),例如:上面的 score是局部变量在栈空间申请一个小内存,里面装的是一个地址,指向new出来的一块堆空间。这像C语言中的指针,只是java中是隐性的。
作者:
孙杰
时间:
2012-4-15 23:00
数组是引用类型,类也是引用类型 你使用时候也会new一个类
作者:
王雪磊
时间:
2012-4-16 09:56
就相当于实例化了一个对象,如果你知道具体数组的长度可以不加的,比如
int[] score={2,3,4,5,6}
作者:
周健
时间:
2012-4-16 13:47
new代表实列化对象,不加不行,除非你直接定义数组的长度
作者:
郭青松
时间:
2012-4-17 00:44
因为数组的实例是放在内存堆(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这个关键字了。
作者:
谢栋文
时间:
2012-4-17 07:26
数组的4种声明方式:
数据类型[] 数组名=new 数据类型[数组大小];
数据类型[] 数组名=new 数据类型[数组大小]{值1,值2。。。。};
数据类型[] 数组名=new 数据类型[]{值1,值2,值3。。。。};
数据类型[] 数组名=new 数据类型[]{};//注意这里声明的数组,长度为0,空值。
作者:
谢栋文
时间:
2012-4-17 07:28
还有一种
数据类型[] 数组名={值1,值2,值3。。。。};这是直接给数组赋值
作者:
许庭洲
时间:
2012-4-27 16:27
int[] score= new int[5]; 此语句中new是在内存为数组开辟一段空间,若不加new,可能在内存找不到score数组,希望对你有帮助哦!
作者:
错,谁的错丶
时间:
2012-4-30 23:16
用于创建对象和调用的构造函数。
作者:
黑马王刚
时间:
2012-5-1 00:55
用来给数组分配空间。
作者:
胡博
时间:
2012-5-2 22:15
数组是类型,通过new来实例化一个数组对象,并在堆中分配空间。数组是引用类型。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2