您好,登錄后才能下訂單哦!
一.數組的語法:定義數組,初始化數組[x][]
1.數組類型:保存一組其他類型的數據,元素類型
int[] /double[]
int[] intArray;//=int intArray[]//規則允許,規范不建議使用
2.數組的初始化//數組長度固定
2.1:靜態 int[] array={1,2,3,4,5};//用到已知數組所有元素,不支持修改
int[] array=new int[]{1,2,3,4,5};//給方法傳參。構造匿名數組
2.2:動態 int[] array=new int[數組的長度];
//array=new int[10] 存放了10個
2.3:不初始化 int[] array=null;//null 是空引用
3.數組的下標訪問[]
3.1 下標類型一定是jint
3.2 取值范圍 [0,array.length-1]// 注意下標取異常 ?"java.lang.ArrayIndexOutOfBoundsException"異常信息。
4.數組本質也是對象(objiect類的派生類)
4.1屬性 對象.屬性 array.length
int[] array=...;//傳了一組數
array.length;//數組中元素個數就自己知道了;
二.數組模型(引用):可以形象的比喻為通過小盒子里的信息)找到真實數據存放的位置;//就是引導調用的棧中的元素找到真實存放的堆區位置(只有一份)
1.引用類型的變量: 無論引用變量保存在棧上還是堆上,背后的數據(對象)一定是在堆上
模型:
2.解析空間不同:
基本數據類型
引用數據類型
引?傳遞空間:同?塊堆內存空間可以被不同的棧內存所指向。
3.方法傳遞:
3.1 無論是基本類型還是引用類型,都是簡單的值傳遞。相當于拷貝了一份實參 到調用的函數(將實參賦給形參)。所以,形參的改變不影響實參
3.2 引用傳遞時,通過形參引用、修改真實對象(存放在堆中)的值,實參可以感受到變化
3.3 局部變量和參數保存在棧中://參數指的是形參
void main(){
int[] array={1,2,3,4,5};
method1();//調用完后,1,2,3,4,5
method2();//調用完后,1,2,200,4,5
}
void method1(int[] array){
array=new int[10];//引用了另一個數組,沒有引用原來的主函數中的數組,
//執行完后,新引用的會被撤銷,還是只留下最先引用的主函數
//通過動態方式,將array指向新的數組,不會改變
}
void method2(int[] array){
array[2]=200;//改變了引用函數的值
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。