方法就是將一段代碼封裝在一個結構體中,并且可反復調用
?
方法的定義:
public static 返回值類型 方法名稱 ([參數類型 變量, 參數類型 變量,參數類型 變量...]){
方法中包含的代碼;
[return 返回值;]
}
定義方法名稱格式:方法名稱單詞第一個單詞為小寫字母,而后每個單詞的首字母大寫
?
返回值類型可設置為兩種:
Java中的數據類型:基本類型、引用類型,如果有返回的內容,則需要通過return返回。必須要有return,否則會出錯。
不返回任何結果:void:
定義一個沒有參數沒有返回值的方法:用主函數調用兩次方法
public class TestDemo{
public static void main(String args[]){
printInfo();
printInfo();
}
public static void printInfo(){
System.out.println(“hello world”);
System.out.println(“hello world”);
}
}
定義一個有參數無返回值的方法:
public class TestDemo{
public static void main(String args[]){
printInfo(10);
printInfo(999);
}
public static void printInfo(int age){
if(age > 200){
System,out.println("不是人");
}else{
System.out.println("您的年齡是:" + age );
}
}
}
定義一個有參數有返回值的方法:
?
public class TestDemo{
public static void main(String args[]){
int result = add(10 , 20); //返回值為int,需定義個int接收
System.out .println(result);
System.out.println(add(100 , 300)); //也可以直接將方法的返回值輸出
}
public static int add(int x , int y){
return x+y;
}
}
?
循環語句continue和break可使之后代碼不執行,但必須與if一起使用。
而同樣的操作在方法中也提供,如果使用了void聲明,可在方法執行過程中用“return”來直接結束方法。 return之后的代碼不執行。跳出方法。前提是void。
如果不是void,代表有返回值,必須return有返回內容。
?
實際開發中是否使用方法有兩個決定性原則:
主方法代碼太多,拆分到方法里。
編寫代碼時,總是不斷的進行復制粘貼,可將這段代碼封裝到方法里。
?
?
方法重載
方法名稱相同,參數的類型或個數不同。
功能相同的方法名字不同,調用起來太麻煩,所以用重載解決。
調用重載方法時會根據傳遞參數類型以及個數調用不同的方法體執行。
第二個程序為重載,方法名相同。與第一個程序結果一樣。
重載關于返回值問題,重載的時候本身只規定了參數的類型和數量,并沒有針對返回值的類型是否相同的限制,從開發的標準角度說,語法雖然沒限制,但重載時返回值類型應該要相同。
?
?
遞歸
遞歸時邁入數據結構的第一步。遞歸就是方法自己調用自己。
而對于遞歸的操作,一般都要求滿足以下形式:
遞歸必須在方法上進行
遞歸必須有一個明確的結束條件
遞歸的過程之中必須進行結束條件的變更
eg:用while循環實現累加操作
將上面代碼改成遞歸形式:
遞歸有一個可怕的影響:
由于其操作占用的時間過長,有可能造成內存溢出,導致程序出現問題,不是必須情況下,不建議使用。
?