java中数组的定义为什么和c等语言不一样,不可以表明数组长度?
7个回答
展开全部
java中声明与初始化数组的方式与c不同,原因其实很简单,java是一个纯粹的面向对象语言,而C不是。在java中所数组也是一个对象,也需要通过new来创建。
在java中初始化时既可以规定数组的大小,也可以分被初始化数组中的每一个元素。
用一维数组举例:
声明一个int型一维数组
int [] array;
初始化这个数组
array = new int[6]; //方式一,仅规定数组的大小
array = new int [] {1,2,3,4,5}; //方式二,初始化数组中的每个元素
展开全部
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[]两种写法是等价的
为什么要写成这样: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[]两种写法是等价的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java里面 数组也是对象,对象只能通过new来分配空间,所以和C语言不一样。
比如:
int [10] array ;是不能编译的。只能写
int [] array = new int [10] ;
我最开始写Java的时候也有一样的困惑,数组居然也要new呵呵。
比如:
int [10] array ;是不能编译的。只能写
int [] array = new int [10] ;
我最开始写Java的时候也有一样的困惑,数组居然也要new呵呵。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JAVA是面向对象的语言,很多情况下都是采用“类”、“对象”等概念来描述事物。
JAVA里面的数组是规定好了的类,定义新数组时,就需要建立对应类的对象。
有两种定义方法,但实质是一样的:
int[] a=new int[12];
或
int a[]=new int[12];
后面的数字不加时,表示定义动态数组,长度据使用时定。
JAVA里面的数组是规定好了的类,定义新数组时,就需要建立对应类的对象。
有两种定义方法,但实质是一样的:
int[] a=new int[12];
或
int a[]=new int[12];
后面的数字不加时,表示定义动态数组,长度据使用时定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以啊
string[] a = new string[10];
string[] a = {"","",""......};
string[] a = new string[10];
string[] a = {"","",""......};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询