java数组最多只能是255维的,每一维的长度,主要看你用的JDK版本,一般来说可以只声明维度,例如int a[][],int b[]。在对Java数组赋值后,可以通过lenght()来查看该数组的长度。
使用eclipse默认的vm arguments,运行以下代码:
public static void main(String[] args) {
byte[] array=new byte[61858764];
// short[] shortArray=new short[30929382];
// int[] intArray=new int[15464691];
// long[] longArray=new long[7732345];
}
成功,没有报错,可知在eclipse默认的vm arguments下,byte数组的最大长度是61858764,将近60M。
由于short的长度比byte大一倍,所以short数组的最大长度是30929382,是byte数组最大长度的一半,
以此类推,int数组最大长度是15464691,long数组最大长度是7732345
我以为这就是最终结果,后来突然想起修改虚拟机的最大内存,也是这个结果吗?
我把eclipse的vm arguments设置修改为:-Xms256M -Xmx768M
再次测试代码,发现byte数组的最大长度可以更长,
通过Windows任务管理器可知,运行代码的javawexe进程占用的内存也更大(废话,呵呵)
到此为止,应该可以得出结论,通过修改虚拟机的最大内存,java整型数组的最大长度可以很长,但到底有多长?(肯定比内存小)
我试过定义一个byte数组的长度为618587640,将近600M,没有报错,更长的数组似乎没有意义,我也没有测试。
使用eclipse默认的vm arguments,运行以下代码:
public static void main(String[] args) {
byte[] array=new byte[61858764];
// short[] shortArray=new short[30929382];
// int[] intArray=new int[15464691];
// long[] longArray=new long[7732345];
}
成功,没有报错,可知在eclipse默认的vm arguments下,byte数组的最大长度是61858764,将近60M。
由于short的长度比byte大一倍,所以short数组的最大长度是30929382,是byte数组最大长度的一半,
以此类推,int数组最大长度是15464691,long数组最大长度是7732345
我以为这就是最终结果,后来突然想起修改虚拟机的最大内存,也是这个结果吗?
我把eclipse的vm arguments设置修改为:-Xms256M -Xmx768M
再次测试代码,发现byte数组的最大长度可以更长,
通过Windows任务管理器可知,运行代码的javawexe进程占用的内存也更大(废话,呵呵)
到此为止,应该可以得出结论,通过修改虚拟机的最大内存,java整型数组的最大长度可以很长,但到底有多长?(肯定比内存小)
我试过定义一个byte数组的长度为618587640,将近600M,没有报错,更长的数组似乎没有意义,我也没有测试。
js数组的长度可以是无限的,只要内存允许的话。数组的初始长度可以设置,如果需要,随后该长度可以自动增长,使用数字串当作数组的索引等价于直接使用数字索引。
例如:
例如数组元素是String,String的长度js本身是没限制的,所以也不会有一个String太长了不能放在数组中的问题。
对于自定义的对象,它的成员的大小也是不会有限制的,对于Number 对象,js可表示的最大数大约是 17976931348623157 x 10 (^308)。
扩展资料:
注意事项
1、JavaScript数组的length属性是可变的。
比如:
arrlength=10; //增大数组的长度
documentwrite(arrlength); //数组长度已经变为10
2、数组随元素的增加,长度也会改变。
如下:
arr[15]=34; //增加元素,使用索引为15,赋值为34
alert(arrlength); //显示数组的长度16
C语言程序如下:
#include <stdioh>
void fun(int a[],int n,int k)
{
int i,maxxr,j;
maxxr=a[0];
for(i=0;i<n;i++)
{
if(maxxr<a[i])
{
maxxr=a[i];
}
}
for(i=0;i<n;i++)
{
if(maxxr==a[i]){
j=i;
break;
}
}
k=j;
}
int main(void)
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
printf("%d,%d", k, a[k]);
}
扩展资料:
思路:
1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;
2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。
3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。
4、按要求输出。
#include<stdioh>
#define N 256
void main()
{ int n,i,a[N],max;
scanf("%d",&n); if ( n>N ) n=N;
for ( i=0;i<n;i++ ) scanf("%d",&a[i]);
max=a[0];
for ( i=1;i<n;i++ ) if ( max<a[i] ) max=a[i];
printf("%d\n",max);
}
以上就是关于java 中数组的长度最大可以多长啊全部的内容,包括:java 中数组的长度最大可以多长啊、Java数组长度最大能有多大、Java数组的长度到底能有多大等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)