方法 &&重點類容?。。?/h1>
?方法 : *****重點
? ? ? ? 封裝實現(xiàn)功能的代碼段;
? ? 優(yōu)點 :
? ? ? ? 1.提高代碼的復用性
? ? ? ? 2.提高程序的安全性
? ? 注意 :
? ? ? ? 1.方法不調用不執(zhí)行
? ? ? ? 2.java中方法不能嵌套,定義在成員位置(類中方法外)
? ? 語法 :
? ? ? ? 有返回值類型的方法
? ? ? ? ? ? 修飾符 返回值類型 方法名(參數(shù)列表){
? ? ? ? ? ? ? ? ?封裝實現(xiàn)功能的代碼段;
? ? ? ? ? ? ? ? ?return 返回值;
? ? ? ? ? ? }
? ? ? ? ? ? 修飾符? : 訪問權限修飾符 --> 目前先定義為public static
? ? ? ? ? ? 返回值 : 當方法執(zhí)行完畢需要得到一個結果|值(返回),需要定義成員有返回值類型的方法
? ? ? ? ? ? 返回值類型 : 結果的數(shù)據(jù)類型
? ? ? ? ? ? ? ? 可以為任意數(shù)據(jù)類型 : 基本 | 引用
? ? ? ? ? ? 方法名 : 遵循標識符的命名規(guī)則與命名規(guī)范
? ? ? ? ? ? (參數(shù)列表) : 方法在定義期間,是否存在不確定的數(shù)據(jù)|有可能改變的數(shù)據(jù),如果存在,就定義在參數(shù)列表中
? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)類型 參數(shù)名1,數(shù)據(jù)類型 參數(shù)名2....
? ? ? ? ? ? ? ? ? ? ? ? 參數(shù)就是局部變量的聲明
? ? ? ? ? ? ? ? ? ? ? ? 參數(shù)的數(shù)據(jù)類型可以為任意數(shù)據(jù)類型 : 基本 | 引用
? ? ? ? ? ? ? ? ? ? ? ? 參數(shù)列表中可以定義多個參數(shù)可以不定義參數(shù)
? ? ? ? ? ? {} : 方法體語句
? ? ? ? ? ? return : 1)提前結束方法? ? ? ?2)帶出返回值 : 返回給方法的調用處
? ? ? ? 沒有返回值類型的方法
? ? ? ? ? ? 修飾符 void 方法名(參數(shù)列表){
? ? ? ? ? ? ? ? 方法體;
? ? ? ? ? ? ? ? //可以定義return,但是不能帶出返回值
? ? ? ? ? ? }
? ? ? ? ? ? void : 標識沒有返回值
? ? ? ? ? ? return : 在沒有返回值類型的方法中可以根據(jù)需求進行定義,作用提前結束方法,不能帶出返回值
? ? 方法的調用 : 執(zhí)行方法中的代碼
? ? ? ? 方法名(參數(shù)列表);
? ? ? ? 有返回值類型的方法 :
? ? ? ? ? ? 1.普通調用? ? ?方法名(參數(shù)列表);
? ? ? ? ? ? 2.賦值調用? ? ? 數(shù)據(jù)類型 變量名 = 方法名(參數(shù)列表);
? ? ? ? ? ? 3.輸出調用? ? ? System.out.println(方法名(參數(shù)列表));
? ? ? ? ?沒有返回值類型方法 :
? ? ? ? ? ? 1.普通調用? ? ?方法名(參數(shù)列表);
? ? 定義方法之前分析步驟 :
? ? ? ? 1.明確需求
? ? ? ? 2.見名知意定義方法名
? ? ? ? 3.返回值
? ? ? ? 4.參數(shù)
注意 : 對兩個字符串內容比較是否相等時候,不要使用==,應該使用來自于String類中提供的equals方法,能夠精確的比較兩個字符串內容是否相等
? ? ? ? ? ? 調用方式 : x.equals(y)==>true :相等? false :不相等
參數(shù) :
? ? ? ? 形式參數(shù)(形參) : 定義方法時候,()中的參數(shù)
? ? ? ? ? ? 相當于局部變量的聲明
? ? ? ? 實際參數(shù)(實參) : 調用方法時候,()中的參數(shù)
? ? ? ? ? ? 相當于局部變量的賦值
? ? ? ? 要求一一對應的
? ? ? ? ? ? 個數(shù)對應
? ? ? ? ? ? 類型對應
? ? ? ? ? ? 順序一致
? ? ? ? 問題 : 方法的形參是否存在默認值?如果存在,是什么值?
? ? ? ? ? ? 不存在,因為局部變量只聲明不賦值不存在默認值
? ? 返回值 : 方法是否需要定義返回值根據(jù)需求分析
? ? return :
? ? ? ? 作用 : 1)提前結束方法? 2)將返回值返回給方法的調用處
? ? ? ? 應用場景 : 只能使用在方法中
? ? 不可達語句 :
? ? ? ? ? ? 緊跟在return后面定義的語句
? ? ? ? ? ? 緊跟在break后面定義的語句
? ? ? ? ? ? 緊跟在continue后面定義的語句
? ? ? ? ? ? 編譯器能夠識別的死循環(huán)后面的語句
? ? ? ? ? ? while...false中的語句
? ?兼容類型 :
? ? ?參數(shù)類型兼容 :? 形參類型>=實參類型
? ? ?返回值類型的兼容 :
? ? ? ? 接收返回值的變量類型>=方法的返回值類型>=return后返回的數(shù)據(jù)類型
重載 :
? ? ? ? 一個類中的多個方法,他們的方法名相同,參數(shù)列表不同|方法簽名不同
? ? ? ? 實現(xiàn)重載方法的三個條件愛你 :
? ? ? ? ? ? 同一個類中的多個方法
? ? ? ? ? ? 方法名相同
? ? ? ? ? ? 參數(shù)列表不同|方法簽名不同
? ? ? ? ? ? ? ? 參數(shù)個數(shù)不同
? ? ? ? ? ? ? ? 參數(shù)類型不同
? ? ? ? ? ? ? ? 不同類型的參數(shù)順序不同
? ? 重載方法的調用 :
? ? ? ? 只根據(jù)實參決定
? ? 重載方法與修飾符是否有關 :? ?無關
? ? 重載方法與返回值類型是否有關 :? ?無關
? ? 重載方法與參數(shù)名是否有關 :? ?無關
? ? 重載方法只與方法名與參數(shù)列表有關
? ? 方法簽名 : 方法的唯一標識? ?方法名+參數(shù)列表
? ? 一個類中的方法就是封裝的體現(xiàn)
? ? 一個類中的方法的重載就是多態(tài)的體現(xiàn)
遞歸 : 理解
? ? ? ? 方法內部自己調用自己
? ? ? ? 優(yōu)點 : 簡化代碼結構
? ? ? ? 缺點 : 有可能造成內存溢出問題
? ? ? ? 遞歸實現(xiàn)的三個部分 :
? ? ? ? ? ? 1.臨界條件 : 停止自己調用自己的條件
? ? ? ? ? ? 2.遞歸前進段 : 從第一次自己調用自己開始到臨界條件之間的過程
? ? ? ? ? ? 3.遞歸后退段 : 從臨界條件開始,不停的將結果返回給上一層