方法:程序中完成獨立功能,可重復使用的一段代碼的集合
方法定義格式:
【修飾符】 返回值的類型 方法名稱(形式參數)
{
方法體
【return 值】
}
方法必須要調用才能生效
如果方法使用了static修飾,使用方法所在類的名稱.方法名(參數) 進行調用
沒有使用static修飾,使用方法所在類的對象來調用(面向對象)
方法定義的位置:
1):在類中定義,在java中最小的程序單元是類
2):方法定義在其他方法之外(不能在方法中再定義方法)
3):方法的定義沒有先后順序
方法術語:
修飾符:public、static等,static修飾的方法屬于類,直接使用類名調用即可,現在都使用static修飾
返回值類型:方法其實在完成一個功能操作完畢之后,是否需要給調用者返回一個結果,如果不需要給調用者返回結果,此時使用void來聲明,無返回的意思
方法名稱:遵循標識符的規范,使用動詞表示,首字母小寫,若是多個單詞組成,使用駝峰表示發法,以后的每個單詞首字母都大寫
形式參數:方法圓括號中的變量,僅僅只是占位而已,參數的名稱其實無所謂,形式參數可以有多個
參數列表:參數列表==參數類型+參數的個數+參數順序
方法簽名:方法簽名==方法名稱+參數列表。在同一個類中,方法簽名是唯一的,否則編譯會報錯
方法體:方法{}中的代碼,表示具體完成該功能的代碼
返回值:在方法內部,使用return關鍵字。功能1:給調用者返回一個結果值,此時方法不能用void進行修飾。功能2:結束當前方法
實際參數:調用者在調用某一個具體方法的時候,實際傳遞的參數值
如何定義/設計方法:
是否需要定義返回值類型:
方法完成功能之后,是否需要給調用者返回一個結果數據,如果不需要返回結果數據,此時使用void聲明
如果需要返回一個結果數據,我們就把結果數據的類型作為該方法的返回值類型
打印操作:在乎的是方法執行的過程,而不是結果,所以此時使用void聲明
求兩數之和:執行完畢之后,需要給調用者一個反饋
是否需要形式參數:
該方法在完成該功能的過程之中,是否有未知的因素參與其中,如果有請作為參數傳遞,如果沒有則沒有形參
求兩數之和的時候,這兩個數到底是多少,對于方法來說是未知的,僅僅是調用者知道,而且不同的調用者傳遞不同的參數
方法重載:
重載方法的定義:在同一個類中,某方法允許存在一個以上的同名方法,只要他們的參數列表不通即可。
方法重載的作用:屏蔽了同一功能的方法由于參數不同造成的方法名稱不同
方法重載判斷原則:“兩同一不同”
兩同:同類中,方法名相同
一不同:方法參數列表不同(參數類型、參數個數、參數順序)
注意:方法重載和方法的返回值類型無關,只是一般要求返回值類型一致。參數列表和參數的名稱沒有關系,方法的重載和形參沒有關系
數組的定義:
方式1:數據元素的類型[] 數組名;如: int[] ages;(推薦使用)
方式2:數據元素的類型 數組名[];如:int ages[];
數組必須先初始化才能使用,因為初始化表示在內存中分配空間
無論使用哪種方式初始化數組,一旦初始化完成,數組的長度就固定了,不能改變,除非重新初始化,也就是說數組是定長的
語法:
數組元素類型[] 數組名 = new 數據元素類型[] {元素1,元素2,。。。。。}
簡單寫法(必須聲明之后立即初始化,不能先聲明后初始化):
數據元素類型[]? 數組名 = {元素1.元素2,。。。。。。}
數組的基本操作:
1、獲取元素:
設置元素:數組名【index】 =? 值;
遍歷元素:使用for循環
數組長度:數組名.length;length是屬性,不是方法
索引范圍:從0開始,逐一遞增【0.數組名.length-1】
打印數組:
直接打印數組的時候,打印出來的是hashCode值,為十六進制