欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 精煉解讀方法的定義與使用

 更新時間:2022年03月14日 15:52:36   作者:K媾?  
Java語言中的“方法”(Method)在其他語言當(dāng)中也可能被稱為“函數(shù)”(Function)。對于一些復(fù)雜的代碼邏輯,如果希望重復(fù)使用這些代碼,并且做到“隨時任意使用”,那么就可以將這些代碼放在一個大括號“{}”當(dāng)中,并且起一個名字。使用的時候,直接找到名字調(diào)用即可

一、方法的基本用法

1.1 什么是方法(method)

方法就是一個代碼片段. 類似于 C 語言中的 "函數(shù)"。方法可以把它理解為一個功能,這個功能是可以重復(fù)使用的。

1.2 方法定義語法?

目前來說寫任何方法的時候都寫成:

pubiic static 返回值 返回名稱(形式參數(shù)列表){

函數(shù)體/方法體

}

代碼舉例:求1-n的和

 /**
     * 求我們1-n的和
     * 函數(shù)名字必須采用小駝峰
     * @param n 輸入一個數(shù)字
     */
    public static int sumAdd(int n){
        int sum = 0;
        for(int i = 1;i <= 10;i++){
            sum += i;
        }
        return sum;
    }
 
    public static void main(String[] args) {
        int ret = sumAdd(10);//方法的調(diào)用
    }

畫圖講解:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS-WqvuKAjQ==,size_20,color_FFFFFF,t_70,g_se,x_16

函數(shù)返回值的鏈式調(diào)用:

還是按照上面的例子給大家舉例一下:?

    /**
     * 求我們1-n的和
     * 函數(shù)名字必須采用小駝峰
     * @param n 輸入一個數(shù)字
     */
    public static int sumAdd(int n){
        int sum = 0;
        for(int i = 1;i <= 10;i++){
            sum += i;
        }
        return sum;
    }
 
    public static void main(String[] args) {
        int ret = sumAdd(10);//方法的調(diào)用
        System.out.println(sumAdd(10)*2);//函數(shù)的返回值,支持鏈式調(diào)用
    }

畫圖講解:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS-WqvuKAjQ==,size_20,color_FFFFFF,t_70,g_se,x_16

?在Java里面沒有函數(shù)聲明,不管你的函數(shù)在main函數(shù)的上面還是在下面,都可以調(diào)用

1.3方法的開辟?

函數(shù)開辟內(nèi)存空間叫做函數(shù)棧幀,每個函數(shù)調(diào)用的時候都會開辟棧幀,屬于這個函數(shù)的內(nèi)存

函數(shù)在內(nèi)存空間是如何調(diào)用的:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS-WqvuKAjQ==,size_20,color_FFFFFF,t_70,g_se,x_16

舉例:用函數(shù)的方法求n的階乘之和?

用函數(shù)的方法求n的階乘之和
public static int Fac(int n) {
        int sum = 1;
        for (int i = 1; i <= n; i++) {
            sum = sum * i;
        }
        return sum;
    }
    /**
     * 求n的階乘之和
     * @param
     */
    public static int facSum(int n){
        int ret = 0;
        for (int i = 1;i <= n; i++){
            ret = ret + Fac(i);
        }
        return ret;
    }
 
    public static void main(String[] args) {
 
        System.out.println(facSum(5));
    }
}
1.Java無法通過傳地址的方式交換兩個值的變量,后續(xù)會講怎么做
public class TestDemo {
    public static void swap(int a,int b){//交換兩個變量的值
        int tmp = a;
        a = b;
        b = tmp;
    }
 
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        System.out.println("交換實參前:"+a+" " +b);
        swap(&a,b);//Java是做不到取地址的,如果想要寫一個函數(shù)交換兩個數(shù)的的值,只能把a和b的值放到堆上
        System.out.println("交換實參后:"+a+" " +b);
 
    }
}

二、方法的重載?

有些時候我們需要用一個函數(shù)同時兼容多種參數(shù)的情況, 我們就可以使用到方法重載

畫圖講解:?

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAS-WqvuKAjQ==,size_20,color_FFFFFF,t_70,g_se,x_16

方法的名字都叫 add. 但是有的 add 是計算 int 相加, 有的是 double 相加; 有的計算兩個數(shù)字相加, 有的是計算三個數(shù) 字相加. 同一個方法名字, 提供不同版本的實現(xiàn), 稱為 方法重載?

三、方法的使用?

例題:用函數(shù)方式編寫代碼模擬三次登錄場景

   public static void login(){
        int count = 3;
        Scanner scanner = new Scanner(System.in);
        while(count != 0){
            System.out.println("請輸入你的密碼");
            String password = scanner.nextLine();
            if(password.equals("123456")){//equals的返回值是true或者false
                System.out.println("登錄成功了");
                break;
            }else{
                count--;
                System.out.println("你輸錯密碼了,你還有"+count+"次機會");
 
            }
        }
 
    }
 
    public static void main(String[] args) {
        login();
 
    }

例題:函數(shù)求水仙花數(shù)?

 求水仙花數(shù)   
public static void findNum(int n){
 
        for (int i = 1; i <=n; i++) {
            int count = 0;//數(shù)字的位數(shù)
            int tmp = i;
            while(tmp != 0){
                count++;
                tmp = tmp/10;
            }
            tmp = i;
            int sum = 0;
            while(tmp != 0){
                sum += Math.pow(tmp%10,count);
                tmp/=10;
            }
            if(sum == i){
                System.out.println(i);
            }
 
        }
 
    }
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        findNum(n);
 
    }

例題:求奇數(shù)位于偶數(shù)之前?

調(diào)整數(shù)組順序使得奇數(shù)位于偶數(shù)之前,調(diào)整之后,不關(guān)心大小順序
public class TestDemo {
 
 
    public static void main(String[] args) {
        int[]arr = {1,2,3,4,5,6,7,8,9};
        int left = 0;
        int right = arr.length-1;
        while(left < right){
            while(left < right && arr[left] % 2 != 0){
                left++;
            }
            while(left < right && arr[right] % 2== 0){
                right--;
            }
            int tmp = arr[left];
            arr[left] = arr[right];
            arr[right] = tmp;
        }
        for (int i = 0; i <arr.length ; i++) {
            System.out.print(arr[i]+" ");
 
        }
 
    }

}

例題: 函數(shù)求三個數(shù)的最大值

1.用函數(shù)求三個數(shù)的最大值
public class TestDemo {
 
 
 
    public static int Max(int a,int b){
        return a > b? a : b;
 
    }
        public static int Max1(int a,int b,int c){
        return Max(Max(a,b),c);
        }
 
    public static void main(String[] args) {
        System.out.println(Max1(4, 6, 8));
 
    }
 
}

總結(jié):

本文簡單介紹了什么是方法、方法的重載、方法如何使用。通過簡單例題的方式加深對方法的印象。上述就是今天的內(nèi)容,有任何疑問的話可以隨時私信我,文章哪里出現(xiàn)了問題我都會積極改正,也希望大家能更快的掌握自己想要的知識,讓我們一起加油?。。。?!

我與你同在。

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

相關(guān)文章

  • springboot引用kettle實現(xiàn)對接oracle數(shù)據(jù)的示例代碼

    springboot引用kettle實現(xiàn)對接oracle數(shù)據(jù)的示例代碼

    這篇文章主要介紹了springboot引用kettle實現(xiàn)對接oracle數(shù)據(jù),其實kettle集成到springboot里面沒有多少代碼,這個功能最主要的還是ktr文件的編寫,只要ktr編寫好了,放到指定文件夾下,寫個定時任務(wù)就完事了,需要的朋友可以參考下
    2022-12-12
  • 零基礎(chǔ)寫Java知乎爬蟲之進階篇

    零基礎(chǔ)寫Java知乎爬蟲之進階篇

    前面幾篇文章,我們都是簡單的實現(xiàn)了java爬蟲抓取內(nèi)容的問題,那么如果遇到復(fù)雜情況,我們還能繼續(xù)那么做嗎?答案當(dāng)然是否定的,之前的僅僅是入門篇,都是些基礎(chǔ)知識,給大家練手用的,本文我們就來點高大上的東西
    2014-11-11
  • Springboot整合Urule的方法步驟

    Springboot整合Urule的方法步驟

    這篇文章主要介紹了Springboot整合Urule的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • shiro之記住登錄信息

    shiro之記住登錄信息

    Shiro提供了記住我(RememberMe)的功能,當(dāng)關(guān)閉瀏覽器時下次再次打開還能記住你的信息,下面小編給大家分享shiro之記住登錄信息的相關(guān)知識,感興趣的朋友一起看看吧
    2017-09-09
  • idea 創(chuàng)建 maven web 工程流程(圖文教程)

    idea 創(chuàng)建 maven web 工程流程(圖文教程)

    這篇文章主要介紹了idea 創(chuàng)建 maven web 工程流程(圖文教程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • springboot 獲取工具類bean過程詳解

    springboot 獲取工具類bean過程詳解

    這篇文章主要介紹了springboot 獲取工具類bean過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • java前后端加密解密crypto-js的實現(xiàn)

    java前后端加密解密crypto-js的實現(xiàn)

    這篇文章主要介紹了java前后端加密解密crypto-js的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • java連接數(shù)據(jù)庫知識點總結(jié)以及操作應(yīng)用

    java連接數(shù)據(jù)庫知識點總結(jié)以及操作應(yīng)用

    這篇文章主要給大家介紹了關(guān)于java連接數(shù)據(jù)庫知識點總結(jié)以及操作應(yīng)用的相關(guān)資料, 當(dāng)涉及到Java中數(shù)據(jù)庫數(shù)據(jù)處理時,我們可以利用強大的Java數(shù)據(jù)庫連接技術(shù)與各種數(shù)據(jù)庫進行交互,需要的朋友可以參考下
    2023-12-12
  • 基于JDK動態(tài)代理原理解析

    基于JDK動態(tài)代理原理解析

    這篇文章主要介紹了基于JDK動態(tài)代理原理解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • SpringCloud?Gateway詳細分析實現(xiàn)負載均衡與熔斷和限流

    SpringCloud?Gateway詳細分析實現(xiàn)負載均衡與熔斷和限流

    這篇文章主要介紹了SpringCloud?Gateway實現(xiàn)路由轉(zhuǎn)發(fā),負載均衡,熔斷和限流,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論