① java中怎麼數組初始化
//數組定義最方便的就是用for循環來做定義,數組下標是從0開始,到11的話就是12個數字。要輸出的話可以用以//號注釋掉的後面的一句if(i<12){System.out.println(x[i]);}當然也可以自己再寫一個for循環語句來輸出,不過我覺得這有點畫蛇添足了
public class shuzu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x[]=new int[12];
for(int i=0;i<=11;i++)
{
x[i]=i;
//if(i<12){System.out.println(x[i]);}
}
}
}
② JAVA中怎麼初始化對象數組
初始化數組有三種方式,以下都是去初始化一個string類型長度2的數組:
方式一:
string[] strs = new string[2];
strs[0] = "0";
strs[1] = "1";方式二:
string[] strs = new string[]{"0", "1"};方式三:
string[] strs = {"0", "1"};三種方式,都有自己的使用場景,在合適場景使用即可。
③ java 數組初始化
首先是給數組a2賦值,讓a2等於a1
之後再每個數值都加1.第二個循環是輸出a1數組的內容
④ java數組初始化
第一題選B,第二題選A、B和D;
java初始化數組的幾種方法:
int a[]; //聲明未初始化
a = new int [10]; // 定義佔用空間大小(10個int)
int a[] = new int [10]; //聲明並定義大小(即分配了指定大小的空間)
int a[] = {1,2,3}; // 聲明並初始化,佔用空間大小是3個int。
⑤ JAVA中怎麼初始化對象數組
你這個試試對對象數組的一個聲明,並沒有示例話,所以會報空指針異常
這個數組對象都是現用現初始化的
Animals [] an=new Animals[5];//這只是個對象類型數組的聲明
用的時候需要
for(int i=0;i<5;i++)
an[i]=new Animals();
這樣你明白了吧
你前面的那個光聲明了數組,但是沒有調用Animals的構造函數,你數組里的每個元素都是一個對象,使用前必須要先實例化
如果你只是用戶輸入長度,
Animals [] an=new Animals[n];
聲明時是可以用變數的
或者你直接Animals [] an=new Animals[100];定義一個大數組,要用的時候再new Animals();實例化,或者用LinkedList<Animals> an=new LinkedList<Animals>();定義一個動態數組
⑥ JAVA怎麼初始化泛型數組
首先由於Java泛型的實現,不可以使用如下的代碼:
public class GenSet<E> {
private E a[];
public GenSet() {
a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation
}
}
那麼我們如何在保持類型安全的同時實現這一點?
我在Java論壇上看到了這樣的解決方案:
import java.lang.reflect.Array;
class Stack<T> {
public Stack(Class<T> clazz, int capacity) {
array = (T[])Array.newInstance(clazz, capacity);
}
private final T[] array;
}
在這里,我們需要討論"checked" and "unchecked"。
Checked:strong typing。GenSet明確知道它包含的對象類型(即它的構造函數是使用Class <E>參數顯式調用的,當方法傳遞非類型E的參數時,方法將拋出異常。請參閱Collections.checkedCollection。
在這種情況,我們需要這樣寫:
public class GenSet<E> {
private E[] a;
public GenSet(Class<E> c, int s) {
// Use Array native method to create array
// of a type only known at run time
@SuppressWarnings("unchecked")
final E[] a = (E[]) Array.newInstance(c, s);
this.a = a;
}
E get(int i) {
return a[i];
}
}
Unchecked: weak typing。實際上沒有對作為參數傳遞的任何對象進行類型檢查。
在這種情況,我們需要這樣寫:
public class GenSet<E> {
private Object[] a;
public GenSet(int s) {
a = new Object[s];
}
E get(int i) {
@SuppressWarnings("unchecked")
final E e = (E) a[i];
return e;
}
}
請注意,數組的組件類型應該是類型參數的擦除:
public class GenSet<E extends Foo> { // E has an upper bound of Foo
private Foo[] a; // E erases to Foo, so use Foo[]
public GenSet(int s) {
a = new Foo[s];
}
...
}
所有的這些都源於Java中泛型一個的特性但也是一個weakness:它是使用擦除實現的,因此除非實施一些顯式機制(type-checking),否則「泛型」類不知道它們在運行時創建的類型參數,故無法提供 type-safety。
⑦ java數組的初始化
一維數組
1)
int[] a; //聲明,沒有初始化
2)
int[] a=new int[5]; //初始化為默認值,int型為0
3)
int[] a={1,2,3,4,5};
//初始化為給定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//錯誤,如果提供了數組初始化操作,則不能定義維表達式
5)
int[] a;
a=new int[5]; //正確,同(2)一樣
int[] a;
a={1,2,3,4,5}; //錯誤數組常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//錯誤,因為數組沒有初始化,不能賦值a[1]=2; 二維數組
1)
int[][] a;
//聲明,沒有初始化
2) int[][] a=new int[2][3];
//初始化為默認值,int型為0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化為給定值
int[][] a={{1,2},{2,3},{3,4,5}};
//沒有錯,數組空間不是連續分配的,所以不要求每一維的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其實就是一個數組a[1]=new int[4];
//每一維的大小可以不一樣
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
⑧ java類中構造函數中:數組怎樣初始化
數組一般都是用FOR循環初始化較多吧,如:
for(int i =0;i<array.length;i++){
array[i]=2;
}
⑨ java數組怎麼初始化private int[20] a=
private
int[]
a
=
new
int[20];
首先int[]
是數據類型
不能寫長度如你寫的:int[20],是不對的!!!
其次,數組初始化很多種,如我提供的這種
直接new出數組長度並初始化。
第二種
{}
大括弧的,這種適合數據量小且知道初始數據的。第三種數據返回型,也就是方法返回初始化數組定義。
你編譯就錯在定義數據類型時不能寫長度,要定義定長的數組
new
int[100]
這樣子寫!!!!
⑩ java如何對象創建數組並初始化
創建數組對象:int
a
=
new
int[3]
這里new指定三個操作:在堆區為數組分配空間;為數組每個元素附默認值;返回數組對象的引用。
數組對象一旦創建好了就不能改變其長度,new操作必須指定數組長度。數組長度可以為0表示無元素,直接初始化不能指定長度,例如:int
a
=
{1,2,3}