亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java方法如何定義與使用

發布時間:2022-03-15 09:07:42 來源:億速云 閱讀:153 作者:iii 欄目:開發技術

這篇文章主要介紹了Java方法如何定義與使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java方法如何定義與使用文章都會有所收獲,下面我們一起來看看吧。

    一、方法的基本用法

    1.1 什么是方法(method)

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

    1.2 方法定義語法 

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

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

    函數體/方法體

    }

    代碼舉例:求1-n的和

     /**
         * 求我們1-n的和
         * 函數名字必須采用小駝峰
         * @param n 輸入一個數字
         */
        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);//方法的調用
        }

    畫圖講解:

    Java方法如何定義與使用

    函數返回值的鏈式調用:

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

    /**
         * 求我們1-n的和
         * 函數名字必須采用小駝峰
         * @param n 輸入一個數字
         */
        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);//方法的調用
            System.out.println(sumAdd(10)*2);//函數的返回值,支持鏈式調用
        }

    畫圖講解:

    Java方法如何定義與使用

     在Java里面沒有函數聲明,不管你的函數在main函數的上面還是在下面,都可以調用

    1.3方法的開辟 

    函數開辟內存空間叫做函數棧幀,每個函數調用的時候都會開辟棧幀,屬于這個函數的內存

    函數在內存空間是如何調用的:

    Java方法如何定義與使用

    舉例:用函數的方法求n的階乘之和 

    用函數的方法求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無法通過傳地址的方式交換兩個值的變量,后續會講怎么做
    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是做不到取地址的,如果想要寫一個函數交換兩個數的的值,只能把a和b的值放到堆上
            System.out.println("交換實參后:"+a+" " +b);
     
        }
    }

    二、方法的重載 

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

    畫圖講解: 

    Java方法如何定義與使用

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

    三、方法的使用 

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

       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();
     
        }

    例題:函數求水仙花數 

     求水仙花數   
    public static void findNum(int n){
     
            for (int i = 1; i <=n; i++) {
                int count = 0;//數字的位數
                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);
     
        }

    例題:求奇數位于偶數之前 

    調整數組順序使得奇數位于偶數之前,調整之后,不關心大小順序
    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]+" ");
     
            }
     
        }
    
    }

    例題: 函數求三個數的最大值

    1.用函數求三個數的最大值
    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));
     
        }
     
    }

    關于“Java方法如何定義與使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java方法如何定義與使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    屏东县| 龙游县| 大厂| 前郭尔| 丘北县| 东莞市| 富民县| 苍梧县| 铁岭县| 水富县| 南昌市| 阳朔县| 峡江县| 红河县| 龙井市| 吉隆县| 大石桥市| 无为县| 从化市| 平果县| 伽师县| 肇源县| 新河县| 瑞安市| 宝山区| 巴林右旗| 邹城市| 广饶县| 河源市| 新蔡县| 鄢陵县| 饶河县| 和顺县| 九龙县| 文成县| 花莲县| 齐河县| 留坝县| 灵璧县| 夹江县| 喀喇沁旗|