java中方法的知識點和遞歸調用


 方法執行原理:(方法不調用不執行,調用才執行
 *   方法在調用的這時候,才會在內存中划分空間
 *   方法在調用的時候,是在棧內存中分配的空間(jvm有一塊內存是棧內存)

 * 函數/方法目的: 還是為了代碼重用
 * 相同的類型的操作,不容重復的寫代碼
 * 函數/方法:就是一段有名字的代碼段

 * 方法的定義
 *  [方法修飾符列表方法返回值類型 方法名(參數1,參數2,參數3....){
 *          執行語句;
 *  }
 *
 *  方法修飾符列表是可選的:權限控制的:public protected private /static
 *  返回值類型:11中數據類型中的任意一種類型
 *  沒有返回值就:void
 *  方法名只要是合法的標識符即可
 *  方法形參列表,多個逗號隔開,形參也要指明數據類型;
 *      形參:是指在函數/方法定義處,那些參數;數據類型 變量名, 數據類型,變量名,
 *      實參:是指在函數調用處,傳入的那個參數.
 *  在方法體內部,如果有返回值(類型),用return語句;且return是結束函數的作用
 *  方法的調用:從內存數據結構來講就是壓棧
 *  方法的結束:從內存數據結構來講就是彈棧

 *   方法的重載:
 *          同一個類中,方法名相同,參數列表不同的方法叫方法的重載;
 *          參數列表不同:可以是參數個數不同,可以是參數數據類型不同
 *          方法的重載和返回值,和修飾符列表無關.
 *  :這個十一中數據結構,就像彈夾,薯片盒子,后進去先出來

 

下面是遞歸調用的例子:

public class Method_10{
    public static void main(String[] args){  //方法main入口
        int i=100;  //聲明數據類型i,賦值為100
        m_1(i); //調用m1方法,賦值i為100
        System.out.println( "hello world" );//調用m1后完成賦值,輸出內容
    }
        public static void m1(int i){ //聲明m_1方法
           m_2(i) ; //調用m_2方法,i賦值為100
           System.out.println( "方法m_1被調用了" );//運行原理:m_1方法中調用好了m_2,聲明m_2方法並調用方法m_3,聲明方法m_3,在m_3中輸出"m3的方法中i="+i;輸出m_3被調用了,i被賦值為100,m_3運行完后返回調用m_3處,在m_2聲明中,m_3調用運行完成,輸出方法m_2被調用;聲名m_2運行完后,返回調用m_2處,在聲明m_1中,m_2運行完成,輸出"方法m_1被調用",返回調用m_1處,輸出"hello word"
    }
    public static void m_2(int i){
            m_3(i);
            System.out.println( "方法m_2被調用了" );
        
    }
    public static void m_3(int i){

        System.out.println( "m_3方法中的i="+ i );
        System.out.println( "方法m_3被調用了" );
    }
}

     這是我剛學習的內容,印象還比較深刻,所以總結一下,記錄下來,方便以后查看,本文內容都是我根據自己的理解寫下來的,有什么不對的地方還希望和大家多多交流,O(∩_∩)O謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM