數組newjava
A. java中數組在使用new創建之後 所有的元素就會有值
是的,用new關鍵字初始化數組時,數組會根據數組的數據類型給所有元素分配初始值,數值型為0,boolean型為false,引用數據類型為null
B. java 數組一定要new嗎
你的疑惑可能是來自 C++ 吧
在 C++ 中,可用以下語句使用數組:
int arr[3] = {1, 2, 3}; // 臨時數組,其數據位於棧中,函數返回後,就無效了
在 Java 中,則對應以下方式:
int arr[] = {1, 2, 3}; // 數組對象引用,其數據位於堆中,函數返回後,也不會立即失效
總結:
Java 中除了基本類型數據 (數值和單個字元) 外都使用對象,包括數組
Java 對象都有一個引用計數,記錄其被引用的次數,為 0 時就可能會失效
Java 自帶一個垃圾回收線程,每隔一段時間就會遍歷所有對象,當對象引用計數為 0 時,就會釋放其佔用的內存,對象也就無效了
因此,Java 中方法是可以返回對象的引用的,外部也可以直接接收這引用
C. 怎麼new 一個對象數組 java
class A(){......}
A a[]=new A[20]; 這就是一個對象數組了.
D. java中 在new數組時,長度為0和長度為100 有什麼區別佔用內存情況如何
數組的長度是固定的,數組長度為0就是說該數組是沒有內容的,甚至是無法存放內容的,基本上是不佔內存的;長度為100說明該數組是佔用了一定內存的,即使裡面不放內容也是會佔用內存的,如果需要放入內容,長度不能超過100,。
E. java里創建數組時用new後面要不要用delete刪除
這個說法是正確的。
解釋:java中new的含義就是對某個對象進行初始化操作。說直白一點,就是「創建」操作。但是其實此時並沒有進行對象賦值,之後必須賦值給一個對象才是有實際意義的。
如:
new A();
這個對象沒有被引用,實際上是沒有被引用,只不過是初始化,沒有被實例化。
A a = new A();
這個是初始化對象並進行實例化為a對象,這樣就可以對a進行操作了。
F. 在java中new一個數組什麼意思,我只知道new一個方法是初始化一個類的對象
new的話就是在堆內存中開辟一片空間。new數組就是為新建的數組在堆內存中開辟空間存放這個數組。方法還可以new嗎?
G. JAVA中數組初始化時用new與不用new有區別嗎
1、不同於String類,String由於實現了常量池
所以new
和不new
有區別:new的話,引用變數指向堆區。不new的話,引用變數指向常量池。
2、對於數組的定義,初始化時用new與不用new
沒區別,只是兩種方式罷了,因為數組是引用數據類型,建立對象時,無論用不用new,數組實體都是放在堆內存中,引用變數放在棧內存。
H. java int數組加new和不加new有什麼區別
你說的這兩種沒有任何區別,完全等價,不同的寫法而已。都是直接初始化為這些值。
如果下面這種,可能有區別:
int[]ids=newint[5];
for(inti=0;i<5;i++){
ids[i]=i+1;
}
這種是開辟數組後,初始化為0,然後在逐次賦值。
I. java 裡面為什麼數組都需要new一下
聲明對象只在堆內開辟了空間,但new後,在棧內開辟內存空間
J. Java中的數組在使用new操作符創建時是否被初始化
比較支持第二位的答案,但還是有點不同的,樓主自己衡量一下:
第3題是求最小
第5題是bc;因為string在處理字元串時都是新開辟空間在的,在大數據量時,stringbuffer的優勢很明顯。故選b。又因為string和stringbuffer是不同的類不能這樣直接賦值,但可以加個轉換StringBuffer
sb="(StringBuffer)這里是字元串";