1>函式(方法)
方法是定義在類中的,具有一定功能的,被封裝起來的**塊。根據其在記憶體中的分配方式可以分為靜態方法和非靜態方法。
方法定義格式:
[修飾符] 返回值型別函式名([引數型別] [形式引數1],[引數型別] [形式引數2],...)
[執行語句塊]
[return返回值]
返回值型別:函式執行後的返回結果的資料型別。
引數型別:是形式引數的資料型別。
形式引數:是乙個變數,用於儲存呼叫函式時傳遞給函式的實際引數。
實際引數:傳遞給形式引數的具體數值。
return:用於結束函式。
返回值:該函式運算後的結果,該結果會返回給呼叫者。
函式的特點:
定義函式可以將功能**進行封裝
便於對該功能進行復用
函式只有被呼叫才會被執行
函式的出現提高了**的復用性
對於函式沒有具體返回值的情況,返回值型別用關鍵字void表示,那麼該函式中的return語句如果在最後一行可以省略不寫。
注意:函式中只能呼叫函式,不可以在函式內部定義函式。
定義函式時,函式的結果應該返回給呼叫者,交由呼叫者處理。
實際定義函式時,要明確要定義的功能最後的執行結果是什麼,明確在定義該功能的過程中,是否需要未知內容參與運算。
函式的過載(overload)
函式的功能一樣,僅僅是參與運算的未知內容不同時,可以定義多函式,卻使用統一函式名稱,這樣方便閱讀。在呼叫時,虛擬機器通過引數列表的不同來區分同名函式。
過載的條件:在同乙個類中,允許存在乙個以上的同名函式,只要它們的引數個數或者引數型別不同即可。
2>陣列
陣列是同一種型別資料的集合,是一種結構更加複雜的資料儲存結構。通過一層層的索引,提高了資料儲存的訪問的效率。每層陣列中的元素都自動從0開始編號,可以很方便的操作這些元素。
陣列的兩種定義格式:
元素型別 陣列名 = new 元素型別[元素個數或陣列長度];
元素型別 陣列名 = new 元素型別;
一維陣列的儲存結構:
陣列操作中常見的異常:
陣列腳標越界異常(arrayindexoutofbound***ception),如:
int arr = new int[2];
system.out.println(arr[3]);
訪問到了陣列中的不存在的腳標時發生。
空指標異常(nullpointerexception)
int arr = null;
system.out.println(arr[0]);
arr引用沒有指向實體,卻在操作實體中的元素時。
[i@c17164 :[表示陣列,@後為所指向的堆記憶體位址。
3>陣列中的陣列——二維陣列:
二維陣列的定義格式:
格式1:int arr = new int[3][2];
格式2:int arr = new int[3];
格式3:int arr = ,,};
特殊寫法情況:int x,y; x是一維陣列,y是二維陣列。(未完)
黑馬程式設計師 Java基礎 內部類總結
這裡東西還是很多的,很雜 我曾經有過問題的地方總結的4.2 為什麼方法內的變數都要用final 後來明白了 方法內部類物件只能訪問該內部類所在方法的final修飾的區域性變數 1.內部類可以直接訪問外部類中的成員,包括私有 原因 因為在內部類中持有乙個外部類的應用,格式 外部類.this class...
黑馬程式設計師 C 基礎篇總結3
1 類是物件的型別,通過類產生乙個物件的過程叫類的例項化 2 靜態方法和例項方法 static關鍵字修飾的靜態方法使用類名調出,在靜態方法中可以訪問靜態成員,不可以直接 訪問例項成員 呼叫前初始化。非靜態方法使用例項對 象調出,在實力方法中可以直接訪問靜態成員也可以直接訪問例項成員 例項化物件時初始...
黑馬程式設計師 java基礎 封裝
asp.net unity開發 net培訓 期待與您交流!封裝表示吧資料項和方法隱藏在物件內部,在類定義中用private關鍵字來實現封裝。封裝有什麼好處?用private把類的細節與外界隔離起來,從而實現資料項和方法的隱藏,而要訪問這些資料項和方法唯一的途徑就是通過類本身,類才有資格呼叫它所擁有的...