黑马程序员技术交流社区
标题:
数组初始化的问题?
[打印本页]
作者:
黄嵘才
时间:
2012-12-18 10:29
标题:
数组初始化的问题?
本帖最后由 esirong 于 2012-12-18 11:26 编辑
我要做一个12个元素长的数组。但是同时我又想存入我指定的10个元素要装入的十个数{52,10,67,95,16,16,1,80,8,84}
int[] arr = new int[12];//做12个长的数组
arr ={52,10,67,95,16,16,1,80,8,84 }//错
arr ={52,10,67,95,16,16,1,80,8,84,0,0 }//错
有没有好办法可以方便快捷的装入?
一定要这样吗?
int[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };//定义并初始化。
谢谢先。
作者:
王玮
时间:
2012-12-18 10:46
在我的脑海里还真是。。。数组是引用类型的,arr 指向个地址,这个{}东西 咋看咋不是地址。所以不可以滴
初始化方式:
第一种:int[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };
第二种:int[] arr = new int[12];
然后用for循环 给每个arr[0],...arr[11] 赋值。
第三种:默认初始化了给。
作者:
Spring up
时间:
2012-12-18 10:53
int arr[]={1,2,3,4,5};
如果非要初始化的话,这种稍微简便一点!
希望对你有用!
作者:
李培根
时间:
2012-12-18 10:55
int[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };
int[] arr = {52,10,67,95,16,16,1,80,8,84,0,0 };
这两个的是一样的,写的时候直接写下面这个就可以。
int[] arr = new int[12];这个是定义一个长度为12的int型数组,但是赋值的时候只能一个一个赋值。
int[] arr = {52,10,67,95,16,16,1,80,8,84,0,0 };这个不是给上面的arr数组赋值,儿时创建了一个新的arr数组,因为重名所以报错。
作者:
孙辉辉
时间:
2012-12-18 10:56
比较实际的一个方法还是要先int[] arr = new int[12]; 就是先开辟了12个
然后使用for循环进行赋值前几个。
nt[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };//定义并初始化。
这样是不怎么可取的,你这里只是两个,你可以这样先初始化了,如果你只是有两个初始值,难道后面十个也这样写。
毕竟到时候先赋值的应该是占少数,未使用的是多数
或者你可以使用集合,都存好后再转换回来
作者:
何创
时间:
2012-12-18 11:00
数组在使用时候,要么你动态初始化,就是这样的方式:int[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };
要么你就使用这样的方式:int[] arr = new int[10];当然第二种的值默认值是0
就这两种方式,这是规定,没你第三种方式, 你的这样写法:“int[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };//定义并初始化。”我个人觉得是比较麻烦,建议你考虑第二种方式作为常用的方式。
作者:
黄嵘才
时间:
2012-12-18 11:26
谢谢各位。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2