Java基础知识——方法

什么是方法

1.方法是实现某个功能的语法块
2.方法在类中创建,在main()主方法之外
3.方法可以被反复调用,实现固定的功能,减少语句重复累赘

方法的语法格式

修饰符 返回值类型 方法名 ( [参数类型 参数名1,参数类型 参数名2,···] ) {
执行语句
·
·
·

return 返回值;
}
具体说明:
1.修饰符:很多,有对访问权限进行限定,有静态修饰符static,还有最终修饰符final。
2.返回值类型,对于方法最后要返回的值的数据类型进行限定。
3.参数类型:调用方法时要传入参数的数据类型的限定。
4.参数名:是一个变量,用于接收被调用方法是时传入的数据。
5.return:用于结束方法,同时传递返回的值。(如果没有返回值,返回类型要定义为void。)
6.返回值:调用方法结束是要返回的值,该值返回给调用者。

方法的具体例子

1.计算不同长宽矩形的面积

public static void main(String[] args) {
         int area = getArea(3,4);//调用了getArea方法,所以area的值是该方法的返回值temp

        int area1 = getArea(2,5);

        int area2 = getArea(3,5);
        
        System.out.println("这个矩形的面积是:"+area);
        System.out.println("这个矩形的面积是:"+area1);
        System.out.println("这个矩形的面积是:"+area2);


    }
    public static int getArea(int height,int weight){
        int temp=height*weight;
        return temp;
    }

思路:
定义了一个getAge()方法用于求矩形的面积,参数height和weight分别用于接收调用方法时传入的高和宽,return语句用于返回计算所得的面积。
在main方法中通过调用getAge()方法时,传入的参数分别赋值给变量height和weight,并将weight*height的结果通过return语句返回,整个方法的调用过程结束,变量weight和height被释放。

2.方法重载

public static void main(String[] args) {
        int result=add(1,2);
        System.out.println("1+2="+result);
        double result1=add(1,2.5);
        System.out.println("1+2.5="+result1);
        int result2=add(1,2,3);
        System.out.println("1+2+3="+result2);

    }
    public static int add(int x,int y){    
     //这是一个两个int整数想加的方法
        int result=x+y;
        return result;
    }
    public static int add(int x,int y,int z){     
    //这是一个三个int整数想加的方法
        int result=x+y;
        return result;
    }
    public static double add(int x,double y){    
     //这是一个两int整数和double小数想加的方法
        double result=x+y;
        return result;
    }

方法重载,允许定义多个相同方法名的方法,但是参数个数或类型必须不同。
当main方法调用相同方法名的某个方法时,会根据参数的类型或个数不同选择对应的方法体。
方法的重载与返回类型无关,只需要满足两个条件:1.方法名相同2.参数的类型或个数不同。

3.方法的递归
实现了从1~100的自然数相加:
下面的getSum方法用于计算1~n之间的自然数的和,在整个递归过程中getSum方法被调用了4次,每次调用时,n的值都会递减,当n的值为1时,所有递归调用的方法都会以相反的顺序相继结束,所有的返回值会进行累加。

public static void main(String[] args) {
        int sum =getSum(100);
        System.out.println("sum="+sum);
    }
    public static int getSum(int n){
        if(n==1){
            return 1;
        }
        int temp=getSum(n-1);
        return temp+n;

    }

在一个方法内部调用自身的过程,递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值