方法就是函數:一個功能的包裝,方法就是包裝代碼的殼子,為這片代碼起一個名字,就可以通過名字調用。
1.代碼重複問題
2.功能的封裝
3.團隊的合作
main方法:程式入口方法,運作一個操作類的時候 第一找的就是main方法,public static void main(String[] args){} 。
public static 傳回類型void 方法名稱(方法參數)throws ...{
代碼說明
}
public? 作用域 static? 靜态關鍵字
傳回類型?:通過傳回類型 聲明要傳回的資料類型 把資料傳回到調用方法的使用者,執行結果,加密資料,void 就是無傳回值方法。
方法名稱?:要求起名字,前面字母必須小寫
方法參數?:向方法調用者 要求傳遞相關資源,哪裡可以申請方法,方法必須申請在 class的大括号範圍内(位置無所謂),不可以申請到方法中,一個class中可以有N個方法
聲明方法傳參:參數個數不限制,參數類型不限制,參數格式 和變量申請格式一緻,隻要申請在方法的小括号中。
public class T6 {//方法說明的實驗
public static void main(String[] args) {
T6 t6 = new T6();
t6.t1(15);//所有的方法都必須在main中調用
}
public static void t1(int num) {//public公開的意思 static靜态的意思 void無傳回值(在這裡可以選擇傳回值任何類型都行)
//num 調用方法是需要傳入一個參數
System.out.println(num);
}
}
傳回值:隻能寫一個類型?因為接受者是一個,傳回什麼類型就用什麼類型去接受,也可以類型轉換,int i=mmm(); System.out.println(mmm());
如果沒有傳回值就寫void ,有傳回值的方法 必須要傳回資料出去 抛異常可以無需傳回資料
return
1.在有傳回值的方法中
2.無傳回值的方法中
隻要執行return語句 方法就結束了 ,後面不能寫代碼
public class T6 {//這裡做一個傳回值的實驗
public static void main(String[] args) {
t2("嘻嘻哈哈");//這裡是靜态方法不需要建立對象
}
public static void t2(String names) {
boolean a = t1(names);
if (a == true) {
System.out.println("恭喜您賬号驗證成功");
} else {
System.out.println("不好意思您的賬号驗證錯誤");
}
}
public static boolean t1(String name) {
if (name.equals("嘻嘻哈哈")) {
return true;
}
return false;
}
}
方法重載 方法名一樣 方法參數類型或個數不一樣
public class T6 {//這裡做一個傳回值的實驗
public static void main(String[] args) {
t1(15.5);//這了給了3個選擇參數,String int double 他會根據你的輸入來選擇
}
public static void t1(int num) {
System.out.println(num);
}
public static void t1(double num) {
System.out.println(num);
}
public static void t1(String num) {
System.out.println(num);
}
}
方法遞歸:方法自調
public class T4 {
public static int sum(int num) {//這裡就是自調代碼
if (num == 1) {
return 1;
}
return num + sum(num - 1);
}
public static void main(String[] args) {
T4 t4=new T4();
int q= t4.sum(10);
System.out.println(q);
}
}
方法自調要注意:嵌套次數過多 堆棧溢出