最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)精講方法的使用

 更新時(shí)間:2022年05月07日 15:45:51   作者:菜菜不恰菜  
方法,也稱(chēng)函數(shù),如果想要重復(fù)一段或者多段代碼塊的使用,可以將這些代碼封裝成一個(gè)方法,方法具體表現(xiàn)為某種行為,使用方法可以提高代碼的復(fù)用性

一、方法

方法是什么?

在Java中方法就相當(dāng)于C語(yǔ)言中的函數(shù)。因?yàn)橛袝r(shí)候我們需要一塊代碼重復(fù)使用,這時(shí)候就可以使用方法。

為什么要用方法?

1. 是能夠模塊化的組織代碼 ( 當(dāng)代碼規(guī)模比較復(fù)雜的時(shí)候 ).

2. 做到代碼被重復(fù)使用 , 一份代碼可以在多個(gè)位置使用 .

3. 讓代碼更好理解更簡(jiǎn)單 .

4. 直接調(diào)用現(xiàn)有方法開(kāi)發(fā) , 不必重復(fù)造輪子

方法的基本語(yǔ)法格式:

public static 返回類(lèi)型 方法名稱(chēng)(形參列表){}

在這里要注意形參是實(shí)參的一份臨時(shí)拷貝,形參并不能改變實(shí)參?。。?/p>

來(lái)看個(gè)例子:

public class TestModer {
public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("交換前"+"a = " + a + " b = " + b);
        swap(a, b);
        System.out.println("交換后"+"a = " + a + " b = " + b);
    }
    public static void swap(int x, int y) {
        int tmp = x;
        x = y;
        y = tmp;
    }
}

我們可以看看運(yùn)行結(jié)果:

我們可以看到這里是傳值調(diào)用,所以改變形參并不能改變實(shí)參。還有需要注意的就是在C語(yǔ)言中,被調(diào)用的函數(shù)需要放在調(diào)用函數(shù)前面,在Java中,方法的位置可以放前面也可以放后面,因?yàn)樵贘ava中是從主函數(shù)開(kāi)始執(zhí)行的。

二、方法的重載

方法的重載是什么意思呢?我們通過(guò)一個(gè)例子來(lái)了解:

public class TestModer {
public static void main(String[] args) {
 int a = 10;
 int b = 20;
 int ret = add(a, b);
 System.out.println("ret = " + ret);
 double a2 = 10.5;
 double b2 = 20.5;
 double ret2 = add(a2, b2);
 System.out.println("ret2 = " + ret2);
 double a3 = 10.5;
 double b3 = 10.5;
 double c3 = 20.5;
 double ret3 = add(a3, b3, c3);
 System.out.println("ret3 = " + ret3);
public static int add(int x, int y) {
 return x + y;
   }
 public static double add(double x, double y) {
 return x + y;
   }
 public static double add(double x, double y, double z) {
 return x + y + z;
   }
}

在這里我們可以看到結(jié)果:

我們可以看看這三個(gè)方法,分別代表了兩個(gè)整數(shù)的加法,兩個(gè)浮點(diǎn)數(shù)的加法,三個(gè)浮點(diǎn)數(shù)的加法。這三個(gè)方法的方法名字都相同,第一個(gè)方法和第二個(gè)方法參數(shù)個(gè)數(shù)相同,第二個(gè)方法和第三個(gè)方法參數(shù)類(lèi)型相同。

在C語(yǔ)言中同一個(gè)工程中每個(gè)函數(shù)函數(shù)名不能相同,但是Java中這里可以,同一個(gè)方法名字, 提供不同版本的實(shí)現(xiàn), 稱(chēng)為 方法重載。

重載需要滿足的條件:

1、方法名相同 。

2、方法的參數(shù)不同 ( 參數(shù)個(gè)數(shù)或者參數(shù)類(lèi)型 ) 。

3、方法的返回值類(lèi)型不做要求。

三、方法遞歸

遞歸是什么?

一個(gè)方法在執(zhí)行過(guò)程中調(diào)用自身 , 就稱(chēng)為 " 遞歸 "。

注意:

1、遞歸需要有個(gè)趨近于終止的條件,否則會(huì)無(wú)限循環(huán)。

2、每次執(zhí)行會(huì)越來(lái)越接近這個(gè)條件。

遞歸執(zhí)行過(guò)程是什么樣的呢?來(lái)看看幾個(gè)例題:

//輸出一個(gè)整數(shù)的每一位,如:123的每一位是1 ,2 ,3
public class TestModer {   
public static void print(int n) {
        if (n < 10) {
            System.out.print(n + " ");
        } else {
            print(n / 10);
            System.out.print(n % 10 + " ");
        }
    }
    public static void main5(String[] args) {
        int num = 123;
        print(num);
    }
}

我們可以看到方法print自己調(diào)用自己的過(guò)程,每次執(zhí)行時(shí),n都越來(lái)越接近終止條件,這就是遞歸的一個(gè)過(guò)程。

//求斐波那契數(shù)列的第3項(xiàng)。(遞歸實(shí)現(xiàn))
    public class TestModer {
    public static int fib(int num) {
        if(num==1||num==2){
            return 1;
        }
        else{
            return fib(num-1)+fib(num-2);
        }
    }
    public static void main(String[] args) {
        int n=3;
        int x=fib(n);
        System.out.println(x);
    }
}

四、小結(jié)

以上就是方法的一些使用,其中遞歸是一種重要的編程解決問(wèn)題的方式,有些問(wèn)題天然就是使用遞歸方式定義的(例如斐波那契數(shù)列, 二叉樹(shù)等), 此時(shí)使用遞歸來(lái)解就很容易,有些問(wèn)題使用遞歸和使用非遞歸(循環(huán))都可以解決,那么此時(shí)更推薦使用循環(huán), 相比于遞歸, 非遞歸程序更加高效。

到此這篇關(guān)于Java基礎(chǔ)精講方法的使用的文章就介紹到這了,更多相關(guān)Java方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea中springboot整合mybatis找不到mapper接口的原因分析

    idea中springboot整合mybatis找不到mapper接口的原因分析

    這篇文章主要介紹了idea中springboot整合mybatis找不到mapper接口的原因分析及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java你不了解的大數(shù)型BigInteger與BigDecimal類(lèi)

    Java你不了解的大數(shù)型BigInteger與BigDecimal類(lèi)

    這篇文章主要介紹了Java 處理超大數(shù)類(lèi)型之BigInteger與BigDecimal案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2022-05-05
  • javaweb中Filter(過(guò)濾器)的常見(jiàn)應(yīng)用

    javaweb中Filter(過(guò)濾器)的常見(jiàn)應(yīng)用

    這篇文章主要介紹了javaweb中Filter的常見(jiàn)應(yīng)用,過(guò)濾器的使用方法,感興趣的小伙伴們可以參考一下
    2015-12-12
  • SpringBoot如何實(shí)現(xiàn)一個(gè)Redis限流注解

    SpringBoot如何實(shí)現(xiàn)一個(gè)Redis限流注解

    這篇文章主要介紹了利用SpringBoot實(shí)現(xiàn)一個(gè)Redis限流注解方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Java默認(rèn)傳入時(shí)間段時(shí)間的實(shí)例

    Java默認(rèn)傳入時(shí)間段時(shí)間的實(shí)例

    下面小編就為大家?guī)?lái)一篇Java默認(rèn)傳入時(shí)間段時(shí)間的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • SpringBoot對(duì)PDF進(jìn)行模板內(nèi)容填充與電子簽名合并詳解

    SpringBoot對(duì)PDF進(jìn)行模板內(nèi)容填充與電子簽名合并詳解

    這篇文章主要為大家詳細(xì)介紹了SpringBoot對(duì)PDF進(jìn)行模板內(nèi)容填充與電子簽名合并的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下
    2023-12-12
  • Spring Cloud Feign實(shí)現(xiàn)動(dòng)態(tài)URL

    Spring Cloud Feign實(shí)現(xiàn)動(dòng)態(tài)URL

    本文主要介紹了Spring Cloud Feign實(shí)現(xiàn)動(dòng)態(tài)URL,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Spring Cloud中使用Eureka的詳細(xì)過(guò)程

    Spring Cloud中使用Eureka的詳細(xì)過(guò)程

    Eureka 是 Netflix 開(kāi)源的一個(gè)服務(wù)發(fā)現(xiàn)組件,它在微服務(wù)架構(gòu)中扮演著重要的角色,這篇文章主要介紹了Spring Cloud中如何使用Eureka,需要的朋友可以參考下
    2024-07-07
  • SpringBoot通過(guò)Nginx代理獲取真實(shí)IP

    SpringBoot通過(guò)Nginx代理獲取真實(shí)IP

    springboot作為后臺(tái)代碼,獲取到的登錄IP是前臺(tái)的代理服務(wù)器地址,并不是用戶的真實(shí)IP地址,本文主要介紹了SpringBoot通過(guò)Nginx代理獲取真實(shí)IP,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Java中Finally關(guān)鍵字

    Java中Finally關(guān)鍵字

    與其他語(yǔ)言的模型相比,finally 關(guān)鍵字是對(duì) Java 異常處理模型的最佳補(bǔ)充。接下來(lái)通過(guò)本文給大家介紹Java中Finally關(guān)鍵字及finally關(guān)鍵字的使用相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05

最新評(píng)論

江西省| 崇左市| 高邮市| 武安市| 福贡县| 策勒县| 岚皋县| 海盐县| 呼伦贝尔市| 建阳市| 德庆县| 湖南省| 高密市| 嘉鱼县| 晋中市| 舟曲县| 夏河县| 高唐县| 曲沃县| 昭通市| 个旧市| 鹤峰县| 玉田县| 蕲春县| 如东县| 温泉县| 界首市| 古交市| 阳春市| 东城区| 罗田县| 延川县| 信宜市| 阿勒泰市| 兴海县| 墨脱县| 雷州市| 伊宁市| 句容市| 桂平市| 丹寨县|