java 中数组的长度最大可以多长啊

java 中数组的长度最大可以多长啊,第1张

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数组的长度到底能有多大等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9566462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存