1. java怎么定义一个数组的长度
可以通过”Scanner“函数 直接输入参数的形式,创建一个新数组即可,举例:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个数组长度:");
int length=input.nextInt();//输入一个正整数就是要定义的数组长度
int a[]=new int[length];
}
}
备注:上面的” int a[]=new int[renshu]“就是定义的新的数组,其中length就是数组的长度。
2. Java数组的长度到底能有多大
数组下标可以使用0 到 Integer.MAX_VALUE (=0x7fffffff) ,可以使用不代表一定能够使用,要看OS、Java VM能生成到多大。
3. java求数组长度
您好,提问者:
数组是.length;
字符串是.length();
例如:
String[]arr=newString[3];
System.out.println("数组的长度是:"+arr.length);
Stringstr="askjdaksjdksad";
System.out.println("字符串的长度是:"+str.length());
4. java怎么重新定义int数组长度
在Java中,数组对象Array的长度是在实例化时就定死了,不能修改。
像你这种情况,一般是新建一个数组,重新设置长度,可能的话再将老数组里的值拷贝进去:
public class ArrayTest {
public static void main(String[] args) {
int[] arr1 = { 1, 2, 3, 4, 5 }; // 初始化一个数组,长度是5(梁启陪定死了)
int[] arr2 = new int[10];// 重橡蠢新初始化数组,长度是10;
// 将老数组复制到新数组
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
// 将老数组对象arr1指向新数组
arr1 = arr2;
// 如果不要复制,最旁带简单的就是直接实例化
int[] arr1_1 = new int[5];// 初始化一个数组,长度是5(定死了)
arr1_1 = new int[10]; // 再实例化一次,就是一个新数组,以前数组里的东西就不存在类
}
}
5. java的String对象的大小有限制吗
String类型底层存储是采用char[]数组的,所以说char[]数组的大小就决定了String对象的大小.由于数组的下标采用int类型,因此最大能存放的元素个数只有2147483648个,这个数也就是2G.所以说char[]数组能存储2G大小的字符.因此在理想情况下也就是内存无限大,堆可以无限大的情况下,一个String类型的极限大小就是4G,长度为2147483648个字符
6. Java 数组有最大长度吗
java 中数组的最大长度是多少呢?看一下它的length属性就可以了。length属性是32位的有符号整数,它的最大值是2的31次幂,就是2G。为何有这个限制呢?为什么length的属性不是long型呢?我们假设一下,如果它是long型的,那么它的最大长度是2的63次幂。内存永远也不会有那么大吧。即使是字节数组长度是int的,最大长都达到2GB.
由此想到了String,这个家伙底层也是基于数组的,是一个字符数组。字符是16位的基本类型,一个String的最大长度是多少呢?就是字符数组的最大长度也是2G,占用内存是4GB。
从JVM的角度来解释:创建数组的字节码是anewarray和newarray,操作数栈的字宽是32位,而这两个字节码的参数都是一个字长,所以无法接受long型的长度参数。不知道这样解释是否很牵强。
7. Java数组的长度到底能有多大
菜鸟一般会问这样的问题, 数组的长度能有多大, 理论上数组的长度为int类型, 最大为Integer.MAX_VALUE =2147483647; 16进制 [0x7fffffff]
如果声明一个int类型的数组: int[] ints = new int[Integer.MAX_VALUE]; 自己计算一下电脑得开侍绝多少内存给jvm
2147483647 / (1024*1024*1024) = 1.99999999GB 差不多2个G内存,老芦姿 jvm 100%会报oom, 当然服务器的内存可能设置比较大, 但是你有必要开哗埋这么大内存吗? 懂了没?