Rumah  >  Artikel  >  Java  >  Pengenalan kepada definisi dan penggunaan kaedah Java

Pengenalan kepada definisi dan penggunaan kaedah Java

WBOY
WBOYke hadapan
2023-05-07 19:55:05956semak imbas

    1. Penggunaan asas kaedah

    1.1 Apakah kaedah

    Kaedah ialah Fragmen kod . Serupa dengan "fungsi" dalam bahasa C. Kaedah boleh difahami sebagai fungsi, yang boleh digunakan berulang kali.

    1.2 Sintaks definisi kaedah

    Pada masa ini apabila menulis sebarang kaedah, ia ditulis sebagai:

    nama pulangan nilai pulangan statik pubiik (senarai parameter formal) {

    Badan fungsi/badan kaedah

    }

    Contoh kod: Cari jumlah 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);//方法的调用
        }

    Penjelasan lukisan:

    Pengenalan kepada definisi dan penggunaan kaedah Java

    Panggilan rantaian nilai pulangan fungsi:

    Biar saya berikan contoh berdasarkan contoh di atas:

    /**
         * 求我们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);//函数的返回值,支持链式调用
        }

    Penjelasan lukisan:

    Pengenalan kepada definisi dan penggunaan kaedah Java

    Tiada pengisytiharan fungsi dalam Java Sama ada fungsi anda berada di atas atau di bawah fungsi utama, anda boleh memanggil fungsi

    1.3 Method Development

    ke. memori terbuka Ruang dipanggil bingkai tindanan fungsi Bingkai tindanan akan dibuka apabila setiap fungsi dipanggil Memori kepunyaan fungsi ini

    Bagaimana fungsi dipanggil dalam ruang memori:

    Pengenalan kepada definisi dan penggunaan kaedah Java

    Contoh: Gunakan kaedah fungsi untuk mencari jumlah faktor 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);
     
        }
    }

    2. Melebihkan kaedah

    Kadang-kadang kita perlu menggunakan fungsi yang serasi dengan berbilang parameter pada masa yang sama, kami akan Anda boleh menggunakan kaedah lebih muatan

    Penjelasan lukisan:

    Pengenalan kepada definisi dan penggunaan kaedah Java

    Nama kaedah semuanya dipanggil tambah. Tetapi ada yang menambah mengira penambahan int, dan ada yang menambah dua kali ganda, ada yang mengira penambahan dua nombor, dan ada yang mengira penambahan tiga nombor Nama kaedah yang sama menyediakan versi pelaksanaan yang berbeza, yang dipanggil kaedah lebihan

    3. Penggunaan kaedah

    Contoh: Tulis kod dengan cara yang berfungsi untuk mensimulasikan tiga senario log masuk

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

    Contoh: Fungsi untuk mencari bilangan daffodil

     求水仙花数   
    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);
     
        }

    Contoh: Cari nombor ganjil sebelum nombor genap

    调整数组顺序使得奇数位于偶数之前,调整之后,不关心大小顺序
    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]+" ");
     
            }
     
        }
    
    }

    Contoh: Fungsi untuk mencari nilai maksimum tiga nombor

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

    Atas ialah kandungan terperinci Pengenalan kepada definisi dan penggunaan kaedah Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam