首頁技術文章正文

什么是java方法,java方法調(diào)用規(guī)則

更新時間:2019-07-16 來源:黑馬程序員 瀏覽量:

什么是java方法?java方法可以理解為是語句的集合,它們在一起執(zhí)行一個功能。假設有一個游戲程序,程序在運行過程中,要不斷地發(fā)射炮彈。發(fā)射炮彈的動作需要編寫100行的代碼,在每次實現(xiàn)發(fā)射炮彈的地方都需要重復地編寫這100行代碼,這樣程序會變得很臃腫,可讀性也非常差。為了解決代碼重復編寫的問題,可以將發(fā)射炮彈的代碼提取出來放在一個{}中,并為這段代碼起個名字,這樣在每次發(fā)射炮彈的地方通過這個名字來調(diào)用發(fā)射炮彈的代碼就可以了。上述過程中,所提取出來的代碼可以被看作是程序中定義的一個方法,程序在需要發(fā)射炮彈時調(diào)用該方法即可m接下來通過一些案例來介紹方法在程序中起到的作用,先來看一下在不使用方法時如何實現(xiàn)打印三個長寬不同的矩形。

 

public class example1 {

         public static void main(String[] args) {

                   //使用的循環(huán)是使用*打印一個寬為5、高為3的矩形

                   for (int i=0; i<3 ;i++ ) {

                            for (int j=0;j<5 ;j++) {

                                     System.out.print("*");

                            }

                            System.out.print("\n");

                   }

                   System.out.print("\n");

                   //使用的循環(huán)是使用*打印一個寬為4、高為2的矩形

                   for (int i=0; i<2 ;i++ ) {

                            for (int j=0;j<4 ;j++) {

                                     System.out.print("*");

                            }

                            System.out.print("\n");

                   }

                   System.out.print("\n");

                   //使用的循環(huán)是使用*打印一個寬為10、高為6的矩形

                   for (int i=0; i<6 ;i++ ) {

                            for (int j=0;j<10 ;j++) {

                                     System.out.print("*");

                            }

                            System.out.print("\n");

                   }

                   System.out.print("\n");

         }

}

 

運行結(jié)果

1575881679909_java方法1.jpg

example1.java運行結(jié)果

 

 

在上面案例中,分別使用三個嵌套for循環(huán)完成了三個矩形的打印,仔細觀察會發(fā)現(xiàn),這三個嵌套for循環(huán)的代碼是重復的,都在做一樣的事情。此時,就可以將使用“*”打印矩形的功能定義為方法,在程序中調(diào)用三次即可,例如:example2.java。

 

public classe example2 {

         public static void main(String[] args) {

                   printRectangle(3, 5);

                   printRectangle(2, 4);

                   printRectangle(6, 10);

         }

         public static void printRectangle(int height, int width) {

                   //下面使用嵌套for循環(huán)實現(xiàn)*打印

                   for (int i=0; i<height ;i++ ) {

                            for (int j=0;j<width;j++) {

                                     System.out.print("*");

                            }

                            System.out.print("\n");

                   }

                   System.out.print("\n");

         }

}

 

運行結(jié)果與example1.java運行結(jié)果相同。

1575881688896_java方法2.jpg

 

在example2.java中定義了一個方法。其中{}內(nèi)實現(xiàn)打印矩形的代碼是方法體, printRectangle()是方法名, ()中的height和 width是方法的參數(shù),方法名前面的void是方法的返回值類型。

在Java中,聲明一個方法的具體語法格式如下:

 

修飾符 返回值類型 方法名 ([參數(shù)類型 參數(shù)名 1,參數(shù)類型 參數(shù)名 2,…]){

         執(zhí)行語句

         …

         return 返回值;

}

 

 

對于上面的語法格式具體說明如下。

 

修飾符:方法的修飾符比較多,有對訪問權限進行限定的,有靜態(tài)修飾符static,還有最終修飾符final等,這些修飾符在后面的學習過程中會逐步介紹。

返回值類型:用于限定方法返回值的數(shù)據(jù)類型。

參數(shù)類型:用于限定調(diào)用方法時傳入?yún)?shù)的數(shù)據(jù)類型。

參數(shù)名:是一個變量,用于接收調(diào)用方法時傳入的數(shù)據(jù)。

return關鍵字:用于結(jié)束方法以及返回方法指定類型的值。

返回值:被return語句返回的值,該值會返回給調(diào)用者。需要特別注意的是,方法中的“參數(shù)類型參數(shù)名1,參數(shù)類型參數(shù)名2”被稱作參數(shù)列表,它用于描述方法在被調(diào)用時需要接收的參數(shù),如果方法不需要接收任何參數(shù),則參數(shù)列表為空,即()內(nèi)不寫任何內(nèi)容。方法的返回值必須為方法聲明的返回值類型,如果方法中沒有返回值,返回值類型要聲明為void,此時,方法中return語句可以省略。

由于example2.java中 printRectangle()方法沒有返回值,接下來通過一個案例來法中有返回值的情況,例Example3.java

 

public classe example3  {

         public static void main(String[] args) {

                   int area=getArea(3,5);            //調(diào)用getArea方法

                   System.out.print("The area is"+area);

         }

         //下面定義了一個球矩形面積的方法,接收兩個參數(shù),其中x為高,y為寬

         public static int getArea(int x,int y) {

                   int temp=x*y;      //使用變量temp記住運算結(jié)果

                   return temp;      //將變量temp的值返回

         }

}

 

運行結(jié)果為:

The area is 15

 

example3.java中,定義了一個getArea()方法用于求矩形的面積,參數(shù)x和y分別用于接收調(diào)用方法時傳入的高和寬,return語句用于返回計算所得的面積。在main(方法中通過調(diào)用getArea()方法,獲得矩形的面積,并將結(jié)果打印。

 

在程序運行期間,參數(shù)x和y相當于在內(nèi)存中定義的兩個變量當調(diào)用getArea()方法時,傳入的參數(shù)3和5分別賦值給變量x和y,并將x*y的結(jié)果通過return語句返回,整個方法的調(diào)用過程結(jié)束,變量x和y被釋放。

以上黑馬程序員小編為您介紹了“什么是java方法”已經(jīng)“java方法的調(diào)用規(guī)則”希望對您有所幫助,如果在學習java中還遇到其他問題,可以點擊咨詢按鈕獲得幫助。

猜你喜歡:
什么是Java語言,java是做什么的?

Java面向?qū)ο笏枷朐趺蠢斫猓?/a>

分享到:
在線咨詢 我要報名
和我們在線交談!