黑马程序员技术交流社区

标题: new与不new有什么区别啊 [打印本页]

作者: 李兆宁    时间: 2012-8-10 10:42
标题: new与不new有什么区别啊
本帖最后由 李兆宁 于 2012-8-10 10:48 编辑

class Array2
{
        public static void main(String[] args)
        {
                int[] arr = new int[]{2,4,12};
                int[] brr = {2,4,1};
        }
}

学习视频中,对于数组的定义,初始化时用new与不用new的区别在哪里呢?
什么时候需要new,什么时候不需要,有硬性规定吗?

另外问个小技巧,看视频中,老师用单行注释,一次注释多行,是怎么注释的呢?
(就是先选定要注释的行,然后就在每一行的前面加上注释符了)像:

class Array2
{
        public static void main(String[] args)
        {
                //int[] arr = new int[]{2,4,12};
                //int a = 9;
                //int[] brr = {2,4,1};
        }
}

编辑器是editplus。
作者: 尤洋    时间: 2012-8-10 10:55
不同于String类,String由于实现了常量池 所以new 和不new 有区别
对于数组的定义,初始化时用new与不用new 没区别
只是两种方式罢了,因为数组是引用数据类型,建立对象时,无论用不用new,数组实体都是放在
堆内存中,引用变量放在栈内存。

老师用单行注释,一次注释多行,应该是定义的快捷键
不用定义快捷键也可以,就是鼠标选定内容后 右键按F再按O就行了
作者: 杨震    时间: 2012-8-10 10:56
对于数组new与不new我认为是没有区别的,多行注释要像这样/*注释部分*/
作者: 张雪磊    时间: 2012-8-10 10:58
class Array2
{
        public static void main(String[] args)
        {
                int[] arr = new int[]{2,4,12};
                int[] brr = {2,4,1};
        }
}

学习视频中,对于数组的定义,初始化时用new与不用new的区别在哪里呢?
什么时候需要new,什么时候不需要,有硬性规定吗?
/*
有区别啊,可以简化书写,至于什么时候用,当你不知道数组里需要存什么元素,
需要先定义一个容器在哪里,你就必须new了,以便以后使用的时候用。

*/


另外问个小技巧,看视频中,老师用单行注释,一次注释多行,是怎么注释的呢?
(就是先选定要注释的行,然后就在每一行的前面加上注释符了)像:

/*
默认没有,可以自己设,工具---参数设置---工具---快捷键---编辑---行注释
*/


class Array2
{
        public static void main(String[] args)
        {
                //int[] arr = new int[]{2,4,12};
                //int a = 9;
                //int[] brr = {2,4,1};
        }
}

作者: 周瑞    时间: 2012-8-10 11:01
在Java中声明数组后,1.在栈内存中分配内存给数组变量.2.在堆内存中分配内存给数组对象.
实际上数组要初始化的是数组对象,栈内存是不用初始化的.其实Java中的引用类型都是这样的.
Java数组的初始化共有三种.1.静态初始化.2.动态初始化.3.不去初始化,而是直接引用其他数组的数组对象.
A:静态初始化:初始化的时候显示指定每个数组元素的初始值.不用指定长度,系统将自己根据元素来获取长度.
先定义一个数组,需用一下格式 type[] ArrayName;
静态初始化如下:  arrayName=new type[]{element1,element2,elements3............}
B:动态初始化:初始化的时候只指定长度,不指定元素.  arrayName= new type[6] ;
C:不能同时使用动态和静态.  
你写的  int[] arr = new int[]{2,4,12};和 int[] brr = {2,4,1};都是静态初始化,只不过一个加了定义,而另一个没加定义。

你问的小技巧:选定要注释的行,按ctrl+?键,要取消时也是ctrl+?
               
作者: 李兆宁    时间: 2012-8-10 11:07
谢谢诸位,问题解决。
作者: 张忠豹    时间: 2012-8-10 11:11
顶!E:\LB33.jpg




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