<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 方法 > 原文: [https://www.programiz.com/java-programming/methods](https://www.programiz.com/java-programming/methods) #### 在本教程中,您將借助示例學習 Java 方法,如何定義方法以及如何在 Java 程序中使用方法。 ## 什么是方法? 在數學中,我們可能已經研究過函數。 例如,`f(x) = x<sup>2</sup>`是返回`x`平方值的函數。 ```java If x = 2, then f(2) = 4 If x = 3, f(3) = 9 and so on. ``` 同樣,在計算機編程中,函數是執行特定任務的代碼塊。 在面向對象的編程中,方法是用于函數的術語。 方法綁定到類,并且它們定義類的行為。 在學習方法之前,請確保了解 [Java 類和對象](/java-programming/class-objects "Java Class and Objects")。 * * * ## Java 方法的類型 根據用戶定義的方法還是標準庫中可用的方法,Java 中有兩種類型的方法: * 標準庫方法 * 用戶定義的方法 * * * ## 標準庫方法 標準庫方法是 Java 中的內置方法,可以隨時使用。 這些標準庫與 Java 類庫(JCL)一起提供,并帶有 JVM 和 JRE 在 Java 存檔(`*.jar`)文件中。 例如, * `print()`是`java.io.PrintSteam`的方法。`print("...")`方法將字符串打印在引號內。 * `sqrt()`是`Math`類的方法。 它返回數字的平方根。 這是一個工作示例: ```java public class Main { public static void main(String[] args) { // using the sqrt() method System.out.print("Square root of 4 is: " + Math.sqrt(4)); } } ``` **輸出**: ```java Square root of 4 is: 2.0 ``` * * * ## 用戶定義的方法 我們還可以創建自己選擇的方法來執行某些任務。 這種方法稱為用戶定義方法。 ### 如何創建用戶定義的方法? 這是我們如何用 Java 創建方法的方法: ```java public static void myMethod() { System.out.println("My Function called"); } ``` 在這里,我們創建了一個名為`myMethod()`的方法。 我們可以看到我們在方法名稱之前使用了`public`,`static`和`void`。 * `public` - 訪問修飾符。 這意味著可以從任何地方訪問該方法。 要了解更多信息,請訪問 [Java 訪問修飾符](/java-programming/access-modifiers "Java Access Modifier") * `static` - 這意味著可以在沒有任何對象的情況下訪問該方法。 要了解更多信息,請訪問 [Java `static`關鍵字](/java-programming/static-keyword "Java static Keyword")。 * `void` - 這意味著該方法不返回任何值。 我們將在本教程的后面部分進一步了解此內容。 這是我們如何創建方法的簡單示例。 但是,Java 中方法定義的完整語法為: ```java modifier static returnType nameOfMethod (parameters) { // method body } ``` 這里, * `modifier` - 它定義訪問方法是公共方法,私有方法等。 * `static` - 如果使用`static`關鍵字,則可以在不創建對象的情況下對其進行訪問。 例如,標準[`Math`類](https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html "Math class")的`sqrt()`方法是靜態的。 因此,我們可以直接調用`Math.sqrt()`,而無需創建`Math`類的實例。 * `returnType` - 它指定方法返回的值的類型。例如,如果某個方法具有`int`返回類型,則它返回一個整數值。 一種方法可以返回本機??數據類型(`int`,`float`,`double`等),本機對象(`String`,`Map`,`List`等)或任何其他內置和用戶定義的對象。 如果該方法未返回值,則其返回類型為`void`。 * `nameOfMethod` - 它是[標識符](/java-programming/keywords-identifiers#identifiers "Java Identifier"),用于引用程序中的特定方法。 我們可以給方法起任何名字。 但是,以它執行的任務命名是更常規的做法。 例如,`calculateArea()`,`display()`等。 * `parameters`(自變量) - 這些是傳遞給方法的值。 我們可以將任意數量的參數傳遞給方法。 * `method body` - 它包括用于執行某些任務的編程語句。 方法主體包含在花括號`{ }`中。 * * * ## 如何調用 Java 方法? 現在我們知道了如何定義方法,我們需要學習使用它們。 為此,我們必須調用該方法。 這是如何做 ```java myMethod(); ``` 該語句調用先前聲明的`myMethod()`方法。 ![Working of the method call in Java](https://img.kancloud.cn/51/d4/51d4e652d7519eaa6cf0d237b1f9f4f3_486x266.png "Working of the method call in Java") Java 中的方法調用的原理 1. 在執行程序代碼時,它在代碼中遇到`myFunction();`。 2. 然后執行分支到`myFunction()`方法,并在該方法體內執行代碼。 3. 在執行方法主體之后,程序將返回到原始狀態,并在方法調用之后執行下一條語句。 * * * ## 示例:Java 方法 讓我們看看如何在 Java 程序中使用方法。 ```java class Main { public static void main(String[] args) { System.out.println("About to encounter a method."); // method call myMethod(); System.out.println("Method was executed successfully!"); } // method definition private static void myMethod(){ System.out.println("Printing from inside myMethod()!"); } } ``` **輸出**: ```java About to encounter a method. Printing from inside myMethod(). Method was executed successfully! ``` 在上面的程序中,我們有一個名為`myMethod()`的方法。 該方法不接受任何參數。 同樣,該方法的返回類型為`void`(意味著不返回任何值)。 在此,方法為`static`。 因此,我們在未創建類的對象的情況下調用了該方法。 再來看一個例子 ```java class Main { public static void main(String[] args) { // create object of the Output class Output obj = new Output(); System.out.println("About to encounter a method."); // calling myMethod() of Output class obj.myMethod(); System.out.println("Method was executed successfully!"); } } class Output { // public: this method can be called from outside the class public void myMethod() { System.out.println("Printing from inside myMethod()."); } } ``` **輸出**: ```java About to encounter a method. Printing from inside myMethod(). Method was executed successfully! ``` 在上面的示例中,我們創建了一個名為`myMethod()`的方法。 該方法位于名為`Output`的類中。 由于該方法不是`static`,因此使用類的對象`obj`進行調用。 ```java obj.myMethod(); ``` * * * ## 方法參數和返回值 如前所述,Java 方法可以具有零個或多個參數。 并且,它也可能返回一些值。 ### 示例:返回值的方法 讓我們以返回值的方法為例。 ```java class SquareMain { public static void main(String[] args) { int result; // call the method and store returned value result = square(); System.out.println("Squared value of 10 is: " + result); } public static int square() { // return statement return 10 * 10; } } ``` **輸出**: ```java Squared value of 10 is: 100 ``` 在上面的程序中,我們創建了一個名為`square()`的方法。 此方法不接受任何參數,并返回值`10 *10`。 在這里,我們將方法的返回類型稱為`int`。 因此,該方法應始終返回整數值。 ![Representation of a method returning a value](https://img.kancloud.cn/fb/13/fb1309b2a35ea5cc2cec59cd7b03853b_387x259.png "Representation of a method returning a value") 返回值的方法的表示 如我們所見,此方法的范圍是有限的,因為它總是返回相同的值。 現在,讓我們修改上面的代碼片段,以使它始終返回傳遞給該方法的任何整數的平方值,而不是始終返回平方值 10。 * * * ### 示例:接受參數并返回值的方法 ```java public class Main { public static void main(String[] args) { int result, n; n = 3; result = square(n); System.out.println("Square of 3 is: " + result); n = 4; result = square(n); System.out.println("Square of 4 is: " + result); } // method static int square(int i) { return i * i; } } ``` **輸出**: ```java Squared value of 3 is: 9 Squared value of 4 is: 16 ``` 這里,`square(`)方法接受參數`i`并返回`i`的平方。 返回的值存儲在變量`result`中。 ![Example showing passing argument to method and returning value](https://img.kancloud.cn/f7/83/f78304972575f24562aae3820aad595c_387x284.png "Passing arguments and returning a value from a method in Java") 在 Java 中傳遞參數并從方法中返回值 如果我們傳遞任何其他數據類型而不是`int`,則編譯器將引發錯誤。 這是因為 Java 是一種強類型語言。 在方法調用期間傳遞給`getSquare()`方法的參數`n`被稱為實際參數。 ```java result = getSquare(n); ``` 方法定義接受的參數`i`被稱為形式參數。 形式參數的類型必須顯式鍵入。 ```java public static int square(int i) {...} ``` 我們還可以使用逗號將多個參數傳遞給 Java 方法。 例如, ```java public class Main { // method definition public static int getIntegerSum (int i, int j) { return i + j; } // method definition public static int multiplyInteger (int x, int y) { return x * y; } public static void main(String[] args) { // calling methods System.out.println("10 + 20 = " + getIntegerSum(10, 20)); System.out.println("20 x 40 = " + multiplyInteger(20, 40)); } } ``` **輸出**: ```java 10 + 20 = 30 20 x 40 = 800 ``` **注意**:實際參數和形式參數的數據類型應匹配,即,第一個實際參數的數據類型應與第一個形式參數的類型匹配。 同樣,第二個實際參數的類型必須與第二個形式參數的類型匹配,依此類推。 * * * ## 使用方法的優點是什么? 1.主要優點是**代碼可重用性**。 我們可以編寫一次方法,然后多次使用。 我們不必每次都覆蓋整個代碼。 可以將其視為“一次編寫,多次重用”。 例如, ```java public class Main { // method defined private static int getSquare(int x){ return x * x; } public static void main(String[] args) { for (int i = 1; i <= 5; i++) { // method call int result = getSquare(i); System.out.println("Square of " + i + " is: " + result); } } } ``` **輸出**: ```java Square of 1 is: 1 Square of 2 is: 4 Square of 3 is: 9 Square of 4 is: 16 Square of 5 is: 25 ``` 在上面的程序中,我們創建了名為`getSquare()`的方法來計算數字的平方。 在這里,使用相同的方法來計算小于 6 的數字的平方。 因此,我們一次又一次地使用相同的方法。 2.方法使代碼**更具可讀性**,并且更易于調試。 例如,`getSquare()`方法非常易讀,以至于我們可以知道此方法將計算數字的平方。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看