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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄嵘才 中级黑马   /  2012-12-18 10:29  /  1252 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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 };//定义并初始化。

谢谢先。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
在我的脑海里还真是。。。数组是引用类型的,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] 赋值。
第三种:默认初始化了给。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
int arr[]={1,2,3,4,5};
如果非要初始化的话,这种稍微简便一点!
希望对你有用!

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报

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数组,因为重名所以报错。


评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
比较实际的一个方法还是要先int[] arr = new int[12];  就是先开辟了12个
然后使用for循环进行赋值前几个。
nt[] arr = new int[]{52,10,67,95,16,16,1,80,8,84,0,0 };//定义并初始化。
这样是不怎么可取的,你这里只是两个,你可以这样先初始化了,如果你只是有两个初始值,难道后面十个也这样写。
毕竟到时候先赋值的应该是占少数,未使用的是多数

或者你可以使用集合,都存好后再转换回来

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
数组在使用时候,要么你动态初始化,就是这样的方式: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 };//定义并初始化。”我个人觉得是比较麻烦,建议你考虑第二种方式作为常用的方式。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

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