java數組的初始化
Ⅰ java數組怎麼初始化private int[20] a=
private
int[]
a
=
new
int[20];
首先int[]
是數據類型
不能寫長度如你寫的:int[20],是不對的!!!
其次,數組初始化很多種,如我提供的這種
直接new出數組長度並初始化。
第二種
{}
大括弧的,這種適合數據量小且知道初始數據的。第三種數據返回型,也就是方法返回初始化數組定義。
你編譯就錯在定義數據類型時不能寫長度,要定義定長的數組
new
int[100]
這樣子寫!!!!
Ⅱ java中一維數組的定義及初始化的方法有哪幾種
兩種:
1 int a[]=new int[10]
for(int i=0;i<10'i++){
a[i]=i+1;
}
2 int[] b={1,2,3,4,5,6}
Ⅲ 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中怎麼初始化對象數組
你這個試試對對象數組的一個聲明,並沒有示例話,所以會報空指針異常
這個數組對象都是現用現初始化的
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中,什麼叫數組的初始化
數組和對象其實是一樣的,分別有引用和物理地址,引用你可以看成指針,當你new Object()表示開辟一個物理地址存儲對象的真實數據,Object obj相當於你在內存中開辟一個物理地址存儲引用(指針),引用本身沒有數據,但是通過Object obj = new Object()相當於把引用和對象數據做了關聯,調用引用就等於調用數據的物理地址。new Object()表示數據初始化,Object obj表示引用初始化。
慢慢理解,祝你好運。
Ⅵ java類中構造函數中:數組怎樣初始化
1、java構造函數--數組 在構造函數中初始化數組,如 public class array { private int [][] matrix; public array(int r,int c) { matrix=new matrix[r][c]; } }
matrix=new matrix[r][c];
2、這里是new int[][]; java中8個基本數據類型都是有默認值的,int默認值為0 ,
3、所以數組中默認都為0.
4、但是切記有默認值的變數必須是類的屬性,方法中局部變數必須賦值才可以使用。
Ⅶ 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數組創建和初始化
有什麼問題?
創建數組
String[]
a
=
new
String[3];
String[]
a
=
new
String[]{"a","b"};
就是象定義變數那個..只是在類形後面加個[]初始化
第一種.寫法.如果是數值形.默認值是0;如果是字元串.或者對象類型就是NULL;
第二種.寫法.創建時直接初始化.
要注意..第一種寫法的3就是數據長度那裡.如果你沒有給數組元素賦值的化必須有.如果象第二種.有賦值的話就可以把3省掉.
Ⅸ 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數組初始化
第一題選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。