Android學習之---(重回Java(05))函數、函數的重載、數組、內存結構

Android學習之---(重回Java(05))函數、函數的重載

函數(方法)

函數的定義
函數的特點
函數的應用(重要)
函數的重載(特性)
什麼是函數:函數就是定義在類中的具有特定功能的一段小程序。
函數也稱爲方法。

函數的格式:
修飾符 返回值類型 函數名(參數類型 形式參數1, 參數類型 形式參數2,...){
	執行語句;
	return 返回值;
}
返回值類型:函數運行後的結果的數據類型
參數類型:是形式參數的數據類型
形式參數:是一個變量,用於存儲調用函數時傳遞給函數的實際參數
實際參數:傳遞給形式參數的具體數值
return:用於結束函數
返回值:該值會返回給調用者

函數的特點:
定義函數可以將功能代碼進行封裝
便於對該功能進行復用
函數只有被調用纔會被執行
函數的出現提高了代碼的複用性
對於函數沒有具體返回值的情況,返回值類型用關鍵字void表示,那麼該函數中的return語句如果在最後一行可以忽略不寫
注意:函數中只能調用函數,不可以在函數內部定義函數
定義函數時,函數的結果應該返回給調用者,交由調用者處理

函數的重載(overload)

重載的概念:在同一個類中,允許存在一個或一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。
重載的特點:與返回值類型無關,只看參數列表。
重載的好處:方便與閱讀,優化了程序設計。

重載示例:
//返回兩個整數的和
int add(int x, int y) {return x + y;}
//返回三個整數的和
int add(int x, int y, int z) {return x + y + z;}
//返回兩個小數的和
int add(double x, double y) {return x + y;}

什麼時候用重載:當定義的功能相同,但參與運算的未知內容不同,那麼,這個時候就定義一個函數名稱以表示其功能,方便閱讀,而通過參數列表的不同來區分多個同名函數。

小練習:
a、b、c、d、e、f是否重載了第一行void show(int a, char b, double c) {}
在這裏插入圖片描述

數組

數組的定義:

格式1:
元素類型[] 數組名 = new 元素類型[元素個數或數組長度];
示例:int[] arr = new int[5];
格式2:
元素類型[] 數組名 = new 元素類型[]{元素, 元素, 元素, 元素…};
示例1:int[] arr = new int[] {2,6,7,8};
示例2:int[] arr = {2,6,7,8};
格式2也稱爲數組靜態初始化

內存結構

Java程序在運行時,需要在內存中分配空間。爲了提高運算效率,又對空間進行了不同區域的劃分,因爲每一片區域都有特定的處理數據方式和內存管理方式。

棧內存:
用於存儲局部變量,當數據使用完,所佔空間會自動釋放。
堆內存:
數組和對象,通過new建立的實例都存放在堆內存中。
每一個實體都有內存地址值
實體中的變量都有默認初始化值
實體不在被使用,會在不確定的時間內被垃圾回收器回收

Java垃圾回收機制:C++寫的程序會在內存中開闢存儲空間,當內存中的實體越來越多的時候比較佔用空間,那麼就需要程序員手動調用功能,將內存清除掉,那麼程序員忘做了,程序運行時間越來越長,那麼最後就會越來越慢,甚至死機。而Java不用手動清除,只要對象或實體在棧內存中沒有引用在堆內存當中已經變成垃圾Java虛擬機會自動啓動垃圾回收機制,將堆內存中不再使用的實體清除掉,這就是垃圾回收機制的特點,不一定會馬上執行,會在不定時的時間內清除它,
堆內存的三個特點:堆內存地址值,默認初始化值,垃圾回收機制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章