教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

java方法怎么用?【java方法使用教程】

更新時(shí)間:2019年07月16日16時(shí)33分 來(lái)源:傳智播客 瀏覽次數(shù):

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

運(yùn)行結(jié)果
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é)果相同。
 
在example2.java中定義了一個(gè)方法。其中{}內(nèi)實(shí)現(xiàn)打印矩形的代碼是方法體, printRectangle()是方法名, ()中的height和 width是方法的參數(shù),方法名前面的void是方法的返回值類型。
在Java中,聲明一個(gè)方法的具體語(yǔ)法格式如下:
 
修飾符 返回值類型 方法名 ([參數(shù)類型 參數(shù)名 1,參數(shù)類型 參數(shù)名 2,…]){
         執(zhí)行語(yǔ)句
         …
         return 返回值;
}

 
 
對(duì)于上面的語(yǔ)法格式具體說明如下。
 
修飾符:方法的修飾符比較多,有對(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語(yǔ)句返回的值,該值會(huì)返回給調(diào)用者。需要特別注意的是,方法中的“參數(shù)類型參數(shù)名1,參數(shù)類型參數(shù)名2”被稱作參數(shù)列表,它用于描述方法在被調(diào)用時(shí)需要接收的參數(shù),如果方法不需要接收任何參數(shù),則參數(shù)列表為空,即()內(nèi)不寫任何內(nèi)容。方法的返回值必須為方法聲明的返回值類型,如果方法中沒有返回值,返回值類型要聲明為void,此時(shí),方法中return語(yǔ)句可以省略。
由于example2.java中 printRectangle()方法沒有返回值,接下來(lái)通過一個(gè)案例來(lái)法中有返回值的情況,例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語(yǔ)句用于返回計(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語(yǔ)句返回,整個(gè)方法的調(diào)用過程結(jié)束,變量x和y被釋放。

推薦了解熱門學(xué)科
java培訓(xùn) python人工智能 web前端 UI設(shè)計(jì)培訓(xùn) 軟件測(cè)試培訓(xùn)
PHP+H5 C++ 新媒體培訓(xùn) 大數(shù)據(jù)培訓(xùn) 區(qū)塊鏈培訓(xùn)
產(chǎn)品經(jīng)理培訓(xùn) Linux運(yùn)維培訓(xùn) 影視制作培訓(xùn) 智能機(jī)器人軟件開發(fā)



0 分享到:
和我們?cè)诰€交談!