java中数组的定义为什么和c等语言不一样,不可以表明数组长度?

我没有说清楚,不好意思,我说的是为什么不可以inti[10]这样!... 我没有说清楚,不好意思,我说的是为什么不可以int i[10]这样! 展开
 我来答
百度网友2725398
推荐于2016-05-16 · TA获得超过407个赞
知道小有建树答主
回答量:279
采纳率:40%
帮助的人:124万
展开全部

java中声明与初始化数组的方式与c不同,原因其实很简单,java是一个纯粹的面向对象语言,而C不是。在java中所数组也是一个对象,也需要通过new来创建。

在java中初始化时既可以规定数组的大小,也可以分被初始化数组中的每一个元素。

用一维数组举例:

声明一个int型一维数组

int [] array;

初始化这个数组

array = new int[6];  //方式一,仅规定数组的大小
array = new int [] {1,2,3,4,5}; //方式二,初始化数组中的每个元素
KYKISTE
2009-06-23 · TA获得超过386个赞
知道答主
回答量:37
采纳率:0%
帮助的人:53.7万
展开全部
LZ是不是想这样问?
为什么要写成这样:int[] a=new int[10];
而不是写成这样:int[10] a=new int[10]或int a[10]=new int[10];

因为int[] a或int a[]仅仅是声明a是一个int型数组变量(也就是说可以用它来指向一个int型数组),至于长度是多少我们可以把它忽略.

数组元素的个数实际上是在利用new创建数组对象时而不是在声明时指定,而且该长度一旦指定就不能更改

这种声明时不指定长度的好处在于:我们可以在任何时候用a去指向任意一个不同长度的新数组

即a可以
a=new int[20];
也可以
a=new int[30]

注意新建的数组类型必须是int型的一维数组,这是在声明时就指定的了

说简单一点你可以把变量a类比为c语言指向一维数组的指针变量

声明时int[] a与int a[]两种写法是等价的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Foxcoming
2009-06-18 · TA获得超过691个赞
知道小有建树答主
回答量:718
采纳率:0%
帮助的人:808万
展开全部
Java里面 数组也是对象,对象只能通过new来分配空间,所以和C语言不一样。

比如:
int [10] array ;是不能编译的。只能写
int [] array = new int [10] ;

我最开始写Java的时候也有一样的困惑,数组居然也要new呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
诡其辞
2009-06-18 · TA获得超过913个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:0
展开全部
JAVA是面向对象的语言,很多情况下都是采用“类”、“对象”等概念来描述事物。

JAVA里面的数组是规定好了的类,定义新数组时,就需要建立对应类的对象。

有两种定义方法,但实质是一样的:
int[] a=new int[12];

int a[]=new int[12];
后面的数字不加时,表示定义动态数组,长度据使用时定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
躲错气9
2009-06-18 · TA获得超过684个赞
知道小有建树答主
回答量:936
采纳率:0%
帮助的人:586万
展开全部
可以啊

string[] a = new string[10];
string[] a = {"","",""......};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式