方法

方法(method)

方法是语句中的集合,在一起执行一个功能。

  • 解决一类问题的步骤的有序组合。
  • 包含与类或对象中。
  • 在程序中被创建,在其它地方被引用(如main方法)
  • 一个方法只完成一个功能
System.out.println( );//System为类,out为输出对象,println( );为方法
//调用系统类中的标准输出对象out中的方法

格式:修饰符 返回值类型 方法名(参数类型 参数名){

方法体

return 返回值;

}

修饰符:定义了该方法的访问类型

返回值类型:返回值数据类型有return,Value,Type...,他们对应的关键字为void

参数类型:方法被调用时,传递值给参数

实参(方法调用时,实际传给方法的数据)

形参(方法调用时,用于接收外界输入的数据)

方法体:定义该方法功能的具体语句

return:可以进行返回值,也可以进行结束方法(return 0;)

方法调用

对象名.方法名(实参列表):

  • 当方法返回一个值时,方法调用通常被当做一个值 (int A=max(20,50))
  • 当方法返回值为void(空)时,方法调用为一个语句(System.out.println( " ");)

例,

 //加法的调用
public static void main(String[] args) {//main函数为主调用函数,所有定义的方法在main方法中被调用
        int sum=add(1,8);//实际参数(人为赋值)
        System.out.println(sum);
    }
    //加法
    public static int add(int a,int b) {//形式参数(用来定义作用)
        return a+b;
    }
//比大小的调用(int型)
public static void main(String[] args) {
        int max =max(40,40);
        System.out.println(max);
    }
    public static int max(int num1, int num2){
        int result=0;//初始化result值
        if (num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if(num1>num2){
            result=num1;
        }else{
            result=num2;
        }
        return result;
    }

方法重载

  • 在一个类中,有相同的函数名称,但形参不同的函数

  • 方法名称必须相同

  • 参数列表必须不同(参数个数,参数类型,参数排列顺序)如:

  • public static int max(int num1, int num2)
    public static double max(double num1, double num2)
    
  • 返回类型可以相同,可以不同

  • 仅仅返回类型不同不足以成为方法的重载

public static void main(String[] args) {
        //比大小的调用(double型)
        double max =max(40,30);
        System.out.println(max);
    }
//double型
    public static double max(double num1, double num2){
        double  result=0;//初始化result值

        if (num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if(num1>num2){
            result=num1;
        }else{
            result=num2;
        }
        return result;
    }
//int型
    public static int max(int num1, int num2){
        int result=0;//初始化result值
        if (num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if(num1>num2){
            result=num1;
        }else{
            result=num2;
        }
        return result;
    }

递归

//阶乘
    public static int f(int n){
            if(n==1){
                return 1;
            }else {
                return n*f(n-1);
            }
        }
posted @ 2024-07-09 21:08  HANR  阅读(25)  评论(0)    收藏  举报