函數:
1. 定義:就是定義在類中具備特定功能的一段小程序段
2. 函數格式:
修飾符 返回值類型 函數名(參數類型 形參1,參數類型 形參2...)
{
執行語句
return 返回值
}
當沒有返回值時,默認返回值類型爲void
如果返回值爲void,函數中可以沒有return語句
注意:函數只能調用函數,但是不能嵌套定義函數,在這一點上,要注意java和python的區別
函數一定要明確處理結果是什麼及類型?是否需要傳入參數?
說明:函數儘量將結果返回給調用者,由調用者做具體處理,最好不要在被調函數中處理結
果,被調函數一般而言,僅作爲一些邏輯處理
重載:
1. 概念:在同一個類中,有多個同名的函數,只要他們的參數個數或者參數類型不同即可
2. 特點:與返回值類型無關,只看參數列表
3. 好處:方便閱讀,優化程序設計
4. 例如:
int add(int x, int y){...}
float add(float x,int y){...}
float add(float x,float y){...}
int add(int x, int y, int z){...}
注意:Java是嚴謹性語言,如果函數出現不確定性,則在編譯的時候會失敗
內存的劃分:
1.寄存器(CPU處理)
2.本地方法區(運行本地系統平臺的內容)
3.方法區
*4.棧內存
*5.堆處理
棧:
1. 存儲的都是局部變量,而且變量所屬的作用域一旦結束,該變量就自動釋放
2. 局部代碼塊的作用就是限定局部變量的生命週期
注意:在程序執行的時候,首先就是主函數先進棧,然後......(陸續的一系列處理)
堆:
1. 存儲的是數組和對象(其實數組就是對象)即實體,凡是new建立的都在堆中
2. 特點:每一個實體都有首地址值,堆內存中的每一個變量都有默認初始化值,根據類型的
不同而不同,整數是0,小數是0.0f,boolean是false,char是'\u0000'
堆中的內存空間不定時的自動回收(垃圾回收機制)。。。注意跟棧區別