java笔记寒假06-方法

Posted on 2022-01-01 22:33  超喜欢小小  阅读(102)  评论(0)    收藏  举报

第六天

1、java方法

 java方法是语句的集合,他们在一起执行一个功能
 方法是解决一类问题的步骤的有序组合
 方法包含于类或对象中
 方法在程序中被创建,在其他地方被引用
 System.out.println();
 //System是类,out是输出对象,println是方法
 //main方法
     public static void main(String[] args) {
         int sum =add(1,2);
         System.out.println(sum);
    }
     //加法
     //int 是返回值类型
     public static int add(int a,int b){
         return a+b;
    }
 java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段
 修饰符 返回值类型 方法名(参数类型 参数名){
      方法体
      return 返回值;
 }
 修饰符可以不写
 没有返回值写void
 参数类型:参数像是一个占位符。方法可以不包含任何参数
 形参:在方法被调用时用于接受外界输入的数据
 实参:调用方法时实际传给方法的数据
 比如:
 public static void main(String[] args) {
        int sum =add(1,2);//实参:实际调用传递给它的参数
        System.out.println(sum);
    }
    //加法
    //形式参数:用来定义作用的
    public static int add(int a,int b){
        return a+b;
    }

这样写会报错,return一般放在最后

 public static void main(String[] args) {
         int max = max(10, 10);
         System.out.println(max);
 
    }
     // 比大小
     public static int max(int num1,int num2){
         int result = 0;
         if (num1 == num2){
             System.out.println("num1=num2");
             return 0;//return除了返回值,还可以中止方法
        }
         if (num1>num2){
             result = num1;
        }
         if (num1<num2){
             result = num2;
        }
         return result;
    }

2、方法的调用

  1>.当方法返回一个值的时候,方法调用通常被当作一个值

 int larger = max(30,40);

  2>.如果方法返回值是void,方法调用一定是一条语句

 System.out.println("hello")

  3>.对象名.方法名

java是值传递

3、方法的重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数

 public static void main(String[] args) {
         double max = max(10.0, 20.0);
         System.out.println(max);
 
    }
     public static double max(double num1,double num2){
         double result = 0;
         if (num1 == num2){
             System.out.println("num1=num2");
             return 0;//return除了返回值,还可以中止方法
        }
         if (num1>num2){
             result = num1;
        }
         if (num1<num2){
             result = num2;
        }
         return result;
    }
     // 比大小
     public static int max(int num1,int num2){
         int result = 0;
         if (num1 == num2){
             System.out.println("num1=num2");
             return 0;//return除了返回值,还可以中止方法
        }
         if (num1>num2){
             result = num1;
        }
         if (num1<num2){
             result = num2;
        }
         return result;
    }
 //这样即可以比较double类型,也可以比较int类型

方法重载的规则:方法名称必须相同

        参数列表必须不同(个数不同或类型不同、参数排列顺序不同等)

        方法的返回类型可以相同也可以不同

4、命令行传参(了解)

tmd,笔记不会写,用到再回来看吧

5、可变参数(不定项参数)

JDK1.5开始,java支持传递同类型的可变参数给一个方法

在方法声明中,在指定参数类型后加一个省略号(…)

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。普通的参数必须在他前面声明

 public static void main(String[] args) {
         Demo04 demo04 = new Demo04();
         demo04.test(1);
 
    }
     public void test(int... i){
         System.out.println(i[0]);
    }

6、递归

递归就是A方法调用A方法,自己调用自己

递归结构包括两部分:递归头

递归体

 //阶乘
 public static void main(String[] args) {
         System.out.println(f(5));
 
    }
     public static int f(int n){
         if (n==1){
             return 1;
        }else{
             return n*f(n-1);
        }
 
    }

大计算尽量不要用递归