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, 當然伺服器的內存可能設置比較大, 但是你有必要開嘩埋這么大內存嗎? 懂了沒?