<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

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

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            Java語法基礎之函數使用說明

            時間:2025-01-14 19:15:55 java語言 我要投稿
            • 相關推薦

            Java語法基礎之函數使用說明

              函數就是定義在類中的具有特定功能的一段獨立小程序,本文主要介紹了Java語法基礎之函數使用說明,供參考學習,感興趣的小伙伴們可以參考一下!想了解更多相關信息請持續關注我們應屆畢業生考試網!

              一、函數的定義及特點

              1) 什么是函數?

              函數就是定義在類中的具有特定功能的一段獨立小程序,函數也稱為方法

              2)Java中函數的格式:

              修飾符 返回值類型函數名(參數類型 形式參數1,參數類型 形式參數2,。。)

              {  執行語句;

              return 返回值;

              }

              返回值類型:函數運行后的結果的數據類型

              參數類型:是形式參數的數據類型

              形式參數:是一個變量,用于存儲調用函數時傳遞給函數的實際參數

              實際參數:傳遞給形式參數的具體數值

              return:用于結束函數

              返回值:該值會返回給調用者

              3) 函數的特點

              a) 定義函數可以將功能代碼進行封裝

              b) 便于對該功能進行復用

              c) 函數只有被調用才會被執行

              d) 函數的出現提高了代碼的復用性

              e) 對于函數沒有具體返回值的情況,返回值類型用關鍵字void表示,那么該函數中的return語句如果在最后一行可以省略不寫,系統會幫你自動加上。

              注:

              a) 函數中只能調用函數,不可以在函數內部定義函數。

              b) 定義函數時,函數的結果應該返回給調用者,交由調用者處理。

              c) 當函數運算后,沒有具體的返回值時,這是返回值類型用一個特殊的關鍵字來標識該關鍵字就是void,void:代表的是函數沒有具體返回值的情況。

              d)  當函數的返回值類型是void時,函數中的return語句可以省略不寫。

              4)  如何定義一個函數?

              函數其實就是一個功能,定義函數就是實現功能,通過兩個明確來完成:

              1)、明確該功能的運算完的結果,其實是在明確這個函數的返回值類型。

              2)、在實現該功能的過程中是否有未知內容參與了運算,其實就是在明確這個函數的參數列表(參數類型&參數個數)。

              5) 函數的作用:

              1)、用于定義功能。

              2)、用于封裝代碼提高代碼的復用性。

              注意:函數中只能調用函數,不能定義函數。

              6) 主函數:

              1)、保證該類的獨立運行。

              2)、因為它是程序的入口。

              3)、因為它在被jvm調用。

              7) 函數定義名稱是為什么呢?

              答:1)、為了對該功能進行標示,方便于調用。

              2)、為了通過名稱就可以明確函數的功能,為了增加代碼的閱讀性。

              二、函數的應用

              1)  兩個明確

              a)  明確要定義的功能最后的結果是什么?

              b)  明確在定義該功能的過程中,是否需要未知內容參與運算

              2)  示例:

              舉例1:

              代碼如下:

              class FunctionDemo

              {

              public static void main(String[] args)

              {

              int x = 4;

              System.out.println(x*3+5);

              x = 6;

              System.out.println(x*3+5);

              int y = 4*3+5;

              int z = 6*3+5;

              System.out.println(y);

              System.out.println(z);

              }

              }

              發現以上的運算,因為獲取不同數據的運算結果,代碼出現了重復。

              為了提高代碼的復用性。對代碼進行抽取。將這個部分定義成一個獨立的功能。方便與日后使用。

              java中對功能的定義是通過函數的形式來體現的。

              明確功能:需要定義功能,完成一個整數的*3+5的運算,

              1,先明確函數定義的格式。

              /*

              修飾符返回值類型函數名(參數類型形式參數1,參數類型形式參數2,)

              {

              執行語句;

              return 返回值;

              }

              代碼如下:

              class FunctionDemo

              {

              public static void getResult(int num)

              {

              System.out.println(num * 3 + 5);

              return;//可以省略

              }

              public static void main(String[] args)

              {

              getResult(5);

              }

              }

              對上述關于return是否省略這一小小知識點的總結:

              當函數運算后,沒有具體的返回值時,這是返回值類型用一個特殊的關鍵字來標識。

              該關鍵字就是void。void:代表的是函數沒有具體返回值的情況。

              當函數的返回值類型是void時,函數中的return語句可以省略不寫。

              舉例2:

              代碼如下:

              class FunctionDemo2

              {

              public static void main(String[] args)

              {

              int sum = getSum(4,6);

              System.out.println("sum="+sum);

              sum = getSum(2,7);

              System.out.println("sum="+sum);

              }

              /*下面的這個功能定義思想有問題,為什么呢?因為只為完成加法運算,至于是否要對和進行打印操作,

              那是調用者的事,不要在該功能中完成。*/

              public static void get(int a,int b)

              {

              System.out.println(a+b);

              return ;

              }

              }

              如何定義一個函數呢?

              1,既然函數是一個獨立的功能,那么該功能的運算結果是什么先明確

              因為這是在明確函數的返回值類型。

              2,在明確在定義該功能的過程中是否需要未知的內容參與運算。

              因為是在明確函數的參數列表(參數的類型和參數的個數)。

              代碼如下:

              class FunctionDemo2

              {

              public static void main(String[] args)

              {

              /*

              int sum = getSum(4,6);

              System.out.println("sum="+sum);

              sum = getSum(2,7);

              System.out.println("sum="+sum);

              */

              //get(4,5);

              int x = getSum(4,4);

              int y = getSum(7,9);

              int num = getMax(x,y);

              }

              //需求:定義一個功能。完成3+4的運算。并將結果返回給調用者。

              /*

              1,明確功能的結果:是一個整數的和。

              2,在實現該功能的過程中是否有未知內容參與運算,沒有。

              其實這兩個功能就是在明確函數的定義。

              1,是在明確函數的返回值類型。

              2,明確函數的參數列表( 參數的類型和參數的個數)。

              */

              public static int getSum()

              {

              return 3+4;

              }

              /*

              以上這個函數的功能,結果是固定的,毫無擴展性而言。

              為了方便用戶需求。由用戶來指定加數和被加數。這樣,功能才有意義。

              思路:

              1,功能結果是一個和。返回值類型是int。

              2,有未知內容參與運算。有兩個。這個兩個未知內容的類型都是int。

              */

              public static int getSum(int x,int y)

              {

              return x+y;

              }

              /*

              需求:判斷兩個數是否相同。

              思路:

              1,明確功能的結果:結果是:boolean 。

              2,功能是否有未知內容參與運算。有,兩個整數。

              */

              public static boolean compare(int a,int b)

              {

              /*

              if(a==b)

              return true;

              //else

              return false;

              */

              //return (a==b)?true:false;

              return a==b;

              }

              /*

              需求:定義功能,對兩個數進行比較。獲取較大的數。

              */

              public static int getMax(int a,int b)

              {

              /*

              if(a>b)

              return a;

              else

              return b;

              //或者用下面的三元運算符

              */

              return (a>b)?a:b;

              }

              }

              3) 練習:

              1,定義一個功能,用于打印矩形。

              2,定義一個打印99乘法表功能的函數。

              代碼如下:

              class  FunctionTest

              {

              public static void main(String[] args)

              {

              draw(5,6);

              printHr();

              draw(7,9);

              printHr();

              print99();

              }

              /*

              定義一個功能,用于打印矩形。

              思路:

              1,確定結果:沒有,因為直接打印。所以返回值類型是void

              2,有未知內容嗎?有,兩個,因為矩形的行和列不確定。

              */

              public static void draw(int row,int col)

              {

              for(int x=0; x<row; x++)

              {

              for(int y=0; y<col; y++)

              {

              System.out.print("*");

              }

              System.out.println();

              }

              }

              public static void printHr()

              {

              System.out.println("------------------------------");

              }

              /*

              定義一個打印99乘法表功能的函數。

              */

              public static void print99()

              {

              for(int x=1; x<=9; x++)

              {

              for(int y=1; y<=x; y++)

              {

              System.out.print(y+"*"+x+"="+y*x+" ");

              }

              System.out.println();

              }

              }

              }

              三、函數的重載(overload)

              重載的概念:

              在同一個類中,允許存在一個以上的同名函數,只要它們的參數個數或者參數類型不同即可。

              重載的特點:

              與返回值類型無關,只看參數列表。

              重載的好處:

              方便于閱讀,優化了程序設計。

              重載示例:

              返回兩個整數的和

              int add(int x,int y){return x+y;}

              返回三個整數的和

              int add(int x,int y, int z){return x+y+z;}

              返回兩個小數的和

              double add(double x,double y){return x+y;}

              什么時候用重載?

              當定義的功能相同,但參與運算的未知內容不同。

              那么,這時就定義一個函數名稱以表示起功能,方便閱讀,而通過參數列表的不同來區分多個同名函數。

              重載范例:

              代碼如下:

              class FunctionOverload

              {

              public static void main(String[] args)

              {

              add(4,5);

              add(4,5,6);

              print99();

              }

              public static void print99(int num)

              {

              for(int x=1; x<=num; x++)

              {

              for(int y=1; y<=x; y++)

              {

              System.out.print(y+"*"+x+"="+y*x+" ");

              }

              System.out.println();

              }

              }

              //打印99乘法表

              public static void print99()

              {

              print99(9);

              }

              //定義一個加法運算,獲取兩個整數的和。

              public static int add(int x,int y)

              {

              return x+y;

              }

              //定義一個加法,獲取三個整數的和。

              public static int add(int x,int y,int z)

              {

              return add(x,y)+z;

              }

              }

              練習:區分是否是重載

              代碼如下:

              void show(int a,char b,double c){}

              下面的a,b,c,d,e,f與上述一句的區別:

              a.

              void show(int x,char y,double z){}//沒有,因為和原函數一樣。

              b.

              int show(int a,double c,char b){}//重載,因為參數類型不同。注意:重載和返回值類型沒關系。

              c.

              void show(int a,double c,char b){}//重載,因為參數類型不同。注意:重載和返回值類型沒關系。

              d.

              boolean show(int c,char b){}//重載了,因為參數個數不同。

              e.

              void show(double c){}//重載了,因為參數個數不同。

              f.

              double show(int x,char y,double z){}//沒有,這個函數不可以和給定函數同時存在與一個類中。

              如何區分重載:當函數同名時,只看參數列表。和返回值類型沒關系。


            【Java語法基礎之函數使用說明】相關文章:

            Java語法基礎中函數的使用說明08-24

            Java語法基礎之for語句練習04-28

            Java基礎語法之數組的使用07-30

            Java基礎語法09-10

            java語法基礎06-27

            java的基礎語法教學06-21

            Java基礎語法概念解析08-27

            Java基礎語法教程筆記08-05

            Java語法基礎for語句練習09-21

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

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

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院