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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梅雄新 黑马帝   /  2012-2-8 00:12  /  2016 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 梅雄新 于 2012-2-8 22:37 编辑

我知道定义二维数组的方式有两种如
int a[][]={{0,0},{1,1},{2,2}};
int a[][]=new int[2][3];然后赋值
为什么不能
int a[2][3]={{0,0},{1,1},{2,2}};

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

4 个回复

倒序浏览
哥们好像写错了吧  int[][] a=new int[2][3];
int[2][3] a={{0,0},{1,1},{2,2}}如果是这样,int[2][3] 就不是Type类型了就成对象了
变量声明 一般是:类型+引用名

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
int[2][3]的含义是:二维数组中有2个一维数组。每个一维数组中有3个元素。
应该这样书写:
int[][] arr = new int[2][3];
int[][] arr = new int[][] {{1,2,3},{4,5,6}};        也可简写为:int[][] arr ={{1,2,3},{4,5,6}};

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答题有分!

查看全部评分

回复 使用道具 举报
本帖最后由 戴振良 于 2012-2-8 22:19 编辑

这个还是把问题简单化吧,sun公司开发规定的,我们只要记住声明数组时不能指定其长度,否则编译时将出错就行了,如:int a[5];//这个样的声明是错误的
我个人认为,只要记住上面的规定就足够用的了,没必要去追究再深的。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答题有分!

查看全部评分

回复 使用道具 举报
int a[2][3]={{0,0},{1,1},{2,2}};
首先这样定义数组的想法就使错误的。
int a[] []  中的两个中括号[] [] 是二维数组的标志,中括号中不能写东西。

前面可以写成:
1,int a[] [] = new int[2][3];
2,int[] a[]  = new int[2][3];
3,int[][] a  = new int[2][3];

而且数组定义时要么指定元素,要么必须给出长度。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答题有分!

查看全部评分

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