1.什么是二維數組?有幾種表達方式?分別是什么?
答:多維數組即數組的數組,即數組的元素也是數組。
例:int[] [] a = {{1},{1,2},{1,2,3}};
有三種方式
1).int [] [] a; 2).int [] a1 []; 3).int a2 [] [];
*強烈推薦用第1種,不容易混淆a的數據類型;
2.多維數組的創建過程是什么?
答:
例:int [] [] a = new int [2] [];
a[0] = {1,2,3};
a[1] = {4,5,6};
3.請舉例說明多位數組的迭代
答:int [] [] b1 = new int [] [] {{1,2},{3,4}};
for(int i = 0;i < b1.length;i++){
for(int j = 0;j < b1[i].length;j++){
System.out.println(b1[i][j]);
}
}
4.如何進行數組的拷貝?並且舉例說明
答:在JDK API的System類中,提供了一個數組拷貝的靜態方法:
arraycopy(Object src,int srcPos, Object dest, int destPos, int
length)
從指定源數組中復制一個數組,復制從指定的位置開始,
到目標數組的指定位置結束。
例:int[] a = {10.100.1000};
int[] b = {20.200.2000.20000};
System.arraycopy(a,1,b,2,2);
for(int x : b){
System.out.println(x);
}
輸出結果是:20 200 100 1000
5.數組有哪些特點?優點是什么?缺點是什么?
答:1).數組是引用數據類型
2).數組是存儲相同數據類型的集合
3).數組的下標從0開始
*優點:1).越界檢查 2).通用算法
*缺點:長度一經定義不能改變
6. 什么是值傳遞?值傳遞在基本數據類型和引用數據類型中有什么區別?
答:值傳遞的本質是賦值,是把實際參數賦值給形式
參數的過程。
*基本數據類型是值之間進行賦值。
*引用數據類型是虛擬地址之間進行賦值。
例:基本數據類型:傳遞的是值(value)的拷貝
public void add(int x){
x++;
System.out.println(“add()方法:x=” +x);
}
public static void main(String[] args){
TestPass pass = new TestPass();
int x = 100;
Pass.add(x);
System.out.println(“main()方法:x=” +x);
}
引用類型:傳遞的是引用(reference)
Public void test(PersonalAccount a){
a.deposit(2000);
System.out.println(“test 方法中a的余額=”+a.
getbalance);
}
public static void main(String[] args){
PersonalAccount a = new PersonalAccount(“3333”, “123”,1900);
TestByReference t = new TestByReference();
t.test(a);
System.out.println(“main 方法中a的余額=” + a.getBalance());
}
注意:
*基本數據類型在傳遞過程中形參改變實參不改變。
*引用類型在傳遞過程中形參改變實參也改變。
*雖然String,包裝器類本身是引用數據類型,但是按基本數據類型的規則傳遞