Java方法、方法的重载、命令行传递参数、可变参数和递归

Java的方法

  1. 是解决一类问题的步骤的有序集合

  2. 包含于类或对象中

  3. 在程序中被创建,在其他地方被引用

  4. 一般只完成一个功能,利于后期扩展!

语法
 修饰符 返回值类型 方法名(参数类型 参数名){
    ...
         方法体
    ...
         return 返回值;
 }
实例
 package com.yeyue.method;
 
 public class Demo01 {
     //main 方法
     public static void main(String[] args) {
 
         //实际参数:实际用来传递给他的参数
         int sum = add(1, 2);
         System.out.println(sum);
        // test();
    }
 
     //加法
     //形式参数是用来定义作用的
     public static int add(int a, int b) {
         return a + b;
    }
 
     public static void test() {
         for (int i = 0; i <= 1000; i++) {
             if (i % 5 == 0) {
                 System.out.print(i + "\t");
            }
             if (i % (5 * 3) == 0) {
                 System.out.println();
                 //System.out.print("\n");
            }
        }
    }
 
 }
方法的重载实例:
 package com.yeyue.method;
 
 public class Demo02 {
     public static void main(String[] args) {
 
         double max = max(30.0,20.0);
         System.out.println(max);
 
    }
 
     //比大小
     public static int max(int num1, int num2){
 
         int result = 0;
 
         if(num1==num2){
             System.out.println("两个数相等");
             return 0; //终止方法
        }
 
         if(num1 > num2){
             result = num1;
        }else if(num1 < num2){
             result = num2;
        }
         return result;
    }
     public static double max(double num1, double num2){
 
         double result = 0;
 
         if(num1==num2){
             System.out.println("两个数相等");
             return 0; //终止方法
        }
 
         if(num1 > num2){
             result = num1;
        }else if(num1 < num2){
             result = num2;
        }
         return result;
    }
     /**
      * 方法的重载:
      * 方法名必须相同
      * 参数列表必须不相同(个数、类型、顺序)
      */
 }
命令行传递参数实例:
 package com.yeyue.method;
 
 public class Demo03 {
     public static void main(String[] args) {
         //args.length 数组长度
         for (int i = 0;i < args.length;i++){
             System.out.println("args["+i+"]: "+args[i]);
        }
    }
 }
  1. 通过javac 编译

  2. 通过java执行并跟上参数

 

可变参数实例:

 package com.yeyue.method;
 
 public class Demo04 {
     public static void main(String[] args) {
         //调用可变参数的方法
         prinMax(34,432,122,4,78.5,888.88);
         prinMax(1,2,6,5);
 
    }
 
     public static void prinMax(double... numbers){
         if (numbers.length == 0){
             System.out.println("No argument passed");
             return;
        }
 
         double result = numbers[0];
 
         //排序
         for (int i=1;i<numbers.length;i++){
             if(numbers[i] > result){
                 result = numbers[i];
            }
        }
 
         System.out.println("The max value is " + result);
 
    }
 }

递归实例:

 package com.yeyue.method;
 
 public class Demo06 {
 
     public static void main(String[] args) {
         System.out.println(f(5));
    }
 
     //5! 5*4*3*2*1
     public static int f(int n){
         if (n==1){
             return 1;
        }else{
             return n*f(n-1);
        }
    }
     /**
      * 边界条件:边界
      * 前阶段
      * 返回阶段 n*(n-1)
      *
      * 基数小时可以使用,太大影响主机性能
      *
      * 栈
      */
 
 }

 

posted @ 2021-06-18 11:17  深夜暗月  阅读(120)  评论(0)    收藏  举报