首頁技術(shù)文章正文

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

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

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

 

public class example1 {

         public static void main(String[] args) {

                   //使用的循環(huán)是使用*打印一個(gè)寬為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)是使用*打印一個(gè)寬為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)是使用*打印一個(gè)寬為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");

         }

}

 

運(yùn)行結(jié)果

1575881679909_java方法1.jpg

example1.java運(yùn)行結(jié)果

 

 

在上面案例中,分別使用三個(gè)嵌套for循環(huán)完成了三個(gè)矩形的打印,仔細(xì)觀察會(huì)發(fā)現(xiàn),這三個(gè)嵌套for循環(huán)的代碼是重復(fù)的,都在做一樣的事情。此時(shí),就可以將使用“*”打印矩形的功能定義為方法,在程序中調(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)實(shí)現(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");

         }

}

 

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

1575881688896_java方法2.jpg

 

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

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

 

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

         執(zhí)行語句

         …

         return 返回值;

}

 

 

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

 

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

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

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

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

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

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

由于example2.java中 printRectangle()方法沒有返回值,接下來通過一個(gè)案例來法中有返回值的情況,例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);

         }

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

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

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

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

         }

}

 

運(yùn)行結(jié)果為:

The area is 15

 

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

 

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

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

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

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!