亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java解析方法的調(diào)用關(guān)系示例詳解

 更新時(shí)間:2024年10月14日 10:04:21   作者:從零開(kāi)始的-CodeNinja之路  
這篇文章主要介紹了Java解析方法的調(diào)用關(guān)系,方法在Java編程中用于封裝重復(fù)的代碼,提高代碼復(fù)用性,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、方法的定義

方法就是 將功能重復(fù)的代碼封裝成一段獨(dú)立的代碼,通過(guò)調(diào)用方法的方式 (作用)提高代碼的復(fù)用性(減少代碼重復(fù))。

每一個(gè)方法只能完成一個(gè)功能。

二、方法的聲明格式

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

執(zhí)行語(yǔ)句塊;
return 返回值;

}

例:

boolean isLeapYear (int year){  //定義方法
    boolean isLeap = false;
        if(year%4==0 && year%100 != 0 || year%400 != 0){
            isLeap = true;
        }
    return isLeap;
}
public class MethodDemo01 {
    //提取一個(gè)方法,計(jì)算兩個(gè)數(shù)的和并返回
    public static int addNum(int a,int b){
        int sum = a +b;
        return sum;
    }
    //提取一個(gè)方法,計(jì)算三個(gè)數(shù)的和并打印
    public static void addNum2(int a,int b,int c){
        int sum = a +b +c;
        System.out.println(sum);
    }
    public static void main(String[] args) {
        //調(diào)用方法1,計(jì)算1+2的和
        int sum1 = addNum(1,2);
        System.out.println(sum1);

        //調(diào)用方法1,計(jì)算3+4的和
        System.out.println(addNum(3,4));

        //調(diào)用方法,計(jì)算5+6+7的和并打印
        addNum2(5,6,7);
    }
}
  • 返回值類型:方法輸出數(shù)據(jù)的類型(如果方法沒(méi)有返回值,則用關(guān)鍵字void來(lái)表示)
  • 方法名:類似變量名,可以自定義方法名(需符合Java標(biāo)識(shí)符規(guī)則)
  • 形式參數(shù):變量(用于存儲(chǔ)調(diào)用方法輸入的數(shù)據(jù))
  • 實(shí)際參數(shù):調(diào)用方法輸入的數(shù)據(jù)。
  • 返回值:調(diào)用方法返回的數(shù)據(jù)。

三、方法的調(diào)用

int year= 2020;
boolean leapYear =isLeapYear(year); //調(diào)用方法
if(leapYear){
    System.out.println(year +"是閏年!")
}
year = 2052;
leapYear =isLeapYear(year);//調(diào)用方法
if(leapYear){
    System.out.println(year +"是閏年!")
}

四、特殊方法:程序入口main方法

main方法是一個(gè)特殊方法,它是Java程序的入口方法,執(zhí)行Java程序時(shí),JVM會(huì)調(diào)用main方法。

public static void main (String[]args){}

五、方法的局部變量

局部變量是指在方法中聲明的變量,其作用范圍僅限于方法中

局部變量使用前必須進(jìn)行初始化。(定義在main方法中的變量也是局部變量)

boolean isLeapYear (int year){
    boolean isLeap = false;//聲明了一個(gè)局部變量并進(jìn)行初始化
        if(year%4==0 && year%100 != 0 || year%400 != 0){
            isLeap = true;
        }
    return isLeap;
}
public classA{
    public static void main (String[]args){
    int i =6; //整數(shù)(實(shí)參,局部變量)
    int [] array = {1,2,3}; //數(shù)組(實(shí)參,局部變量,傳數(shù)組的地址)
    test(i,array);
    System.out.println(i+""+array[0]);
    }
    public static void test(int i,int []array){  //形參
        i += 3;
        array[0] += 3;
    }
}
//輸出結(jié)果:6 4

六、類的靜態(tài)變量

靜態(tài)變量(也稱為類變量)是使用static關(guān)鍵字聲明的變量,這些變量屬于類本身,而不是類的任何特定實(shí)例(靜態(tài)變量在使用前無(wú)需初始化。)

public class HellWorld{
    public static boolean isLeap;//全局變量(默認(rèn)自動(dòng)化)
    
    public static void method01(){ //
        isLeap = true;//共享全局變量
    }
    public static void method02(){
        isLeap = true;//共享全局變量
    }
}

七、類的靜態(tài)方法

靜態(tài)方法是使用static關(guān)鍵字定義的方法,靜態(tài)方法可以訪問(wèn)類的靜態(tài)變量和靜態(tài)方法,但不能訪問(wèn)類的實(shí)例方法和實(shí)例變量。

八、方法的傳參

  • 實(shí)參和形參
    實(shí)參:調(diào)用方法輸入的變量或常量值

形參:方法中定義的數(shù)據(jù)類型變量。

  • 值傳遞
    實(shí)參將數(shù)據(jù)傳遞給形參時(shí),形參的改變改變不影響原實(shí)參的值,即值傳遞只會(huì)改變形參,不會(huì)改變實(shí)參。(基本數(shù)據(jù)類型)

  • 引用傳遞
    引用傳遞:是指在調(diào)用函數(shù)時(shí),將實(shí)際參數(shù)的地址傳遞給函數(shù),這樣在函數(shù)中對(duì)參數(shù)的修改,將影響到實(shí)際參數(shù)。(引用數(shù)據(jù)類型)

引用數(shù)據(jù)傳遞的不是真正的數(shù)據(jù)地址,是引用的堆內(nèi)存中的地址,無(wú)論引用傳遞的數(shù)據(jù)怎么改變,它也只是引用的堆內(nèi)存中的地址,原數(shù)據(jù)組的數(shù)據(jù)地址并沒(méi)有被改變,改變那部分的值只是形參復(fù)制給實(shí)參使用的的地址,并不是把原地址改變。

  • 總結(jié)
    在Java中,參數(shù)傳參本質(zhì)上只存在值傳遞。

值傳遞時(shí),形參改變并不會(huì)影響到實(shí)參。

在函數(shù)中,只有修改了實(shí)參所指向的對(duì)象內(nèi)容,也就是引用堆內(nèi)存中的地址,才會(huì)影響到實(shí)參

public classA{
    public static void main (String[]args){
    int i =6; //整數(shù)(實(shí)參,局部變量)
    int [] array = {1,2,3}; //數(shù)組(實(shí)參,局部變量,傳數(shù)組的地址)
    test(i,array);
    System.out.println(i+""+array[0]);
    }
    public static void test(int i,int []array){//形參
        i += 3;
        array[0] += 3;
    }
}
//輸出結(jié)果:6 4

九、方法的重載

方法的重載指的是在同一個(gè)類中,有一個(gè)以上的同名方法,但方法的參數(shù)個(gè)數(shù)或參數(shù)類型有所不同(與方法的返回值無(wú)關(guān))

方法重載是對(duì)于 一個(gè)類。

 public static int addNum(int a,int b){
        int sum = a +b;
        return sum;
    }
    //提取一個(gè)方法,計(jì)算三個(gè)數(shù)的和并打印
 public static int addNum2(int a,int b,int c){
        int sum = a +b +c;
        return sum;
    }

例如,以下都屬于方法的重載

  • void show (int a,char b,double c);

  • void show (int a,double b,char c);

  • void show (int a,int b);

  • void show (int a);

  • double show(int a,char b,double c);

總結(jié) 

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

相關(guān)文章

  • 詳解spring boot jpa整合QueryDSL來(lái)簡(jiǎn)化復(fù)雜操作

    詳解spring boot jpa整合QueryDSL來(lái)簡(jiǎn)化復(fù)雜操作

    這篇文章主要介紹了詳解spring boot jpa整合QueryDSL來(lái)簡(jiǎn)化復(fù)雜操作,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • Java 實(shí)戰(zhàn)練習(xí)之網(wǎng)上電商項(xiàng)目的實(shí)現(xiàn)

    Java 實(shí)戰(zhàn)練習(xí)之網(wǎng)上電商項(xiàng)目的實(shí)現(xiàn)

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實(shí)現(xiàn)一個(gè)網(wǎng)上電商項(xiàng)目,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • java 中歸并排序算法詳解

    java 中歸并排序算法詳解

    這篇文章主要介紹了java 中歸并排序算法詳解的相關(guān)資料,歸并排序算法又稱為合并排序算法,是一種時(shí)間復(fù)雜度為O(N logN)的排序算法,因而其在平常生活工作中應(yīng)用非常廣泛,需要的朋友可以參考下
    2017-09-09
  • Java Maven settings.xml中私有倉(cāng)庫(kù)配置詳解

    Java Maven settings.xml中私有倉(cāng)庫(kù)配置詳解

    這篇文章主要介紹了詳解Maven settings.xml配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • java計(jì)算代碼段執(zhí)行時(shí)間的詳細(xì)代碼

    java計(jì)算代碼段執(zhí)行時(shí)間的詳細(xì)代碼

    java里計(jì)算代碼段執(zhí)行時(shí)間可以有兩種方法,一種是毫秒級(jí)別的計(jì)算,另一種是更精確的納秒級(jí)別的計(jì)算,這篇文章主要介紹了java計(jì)算代碼段執(zhí)行時(shí)間,需要的朋友可以參考下
    2022-08-08
  • 一篇文章帶你了解Java SpringBoot Nacos

    一篇文章帶你了解Java SpringBoot Nacos

    這篇文章主要介紹了SpringBoot使用Nacos配置中心的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 避免sql注入_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    避免sql注入_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了避免sql注入,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java ScheduledExecutorService的具體使用

    Java ScheduledExecutorService的具體使用

    ScheduledExecutorService有線程池的特性,也可以實(shí)現(xiàn)任務(wù)循環(huán)執(zhí)行,本文主要介紹了Java ScheduledExecutorService的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-05-05
  • Java中的List接口實(shí)現(xiàn)類解析

    Java中的List接口實(shí)現(xiàn)類解析

    這篇文章主要介紹了Java中的List接口實(shí)現(xiàn)類解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring中初始化泛型類的方法實(shí)例

    Spring中初始化泛型類的方法實(shí)例

    這篇文章主要給大家介紹了Spring中如何初始化泛型類,文中給出詳細(xì)的介紹和方法實(shí)例,對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。
    2017-01-01

最新評(píng)論