方法的定义与使用

首先对于方法的最大的好处是可以进行重复调用,但是至于说哪些操作要形成方法,这些都要根据你的实际项目经验总结的。

方法的基本定义

限制条件:

本次的方法指的是在主类中定义,并且由主方法直接调用的方法形式

方法指的就是一段可以呗重复调用的方法块。在java中,如果想要进行方法的定义,则可以进行如下的方法完成

public static 方法返回值 方法名称([参数类型 变量,......]){

方法体代码;

[return[返回值];]

}

在定义方法的时候对于方法的返回值有以下的两类

void:没有返回值;

数据类型(基本类型、引用类型)表示具体的返回值


eg:定义一个没有返回值,没有参数的方法

public static void main(String args[]){

print();}//主方法里,直接调用方法

public static void print(){

system.out.println("hello!");

}(大爷行行好给点钱,给完你就走了


eg:定义一个有参数,无返回值的方法

public static void main(String args[]){

print("hello");

}//主方法里,直接调用方法


public static void print(String mag){

system.out.println(msg);

}//msg相当于变量


eg:定义一个有参数,有返回值的方法

 public static void main(String args[]){

int result=add(10,20);

system.out.println(result);

}

public static int add(int x,int y){

return x+y;

}//用add这个方法计算结果 返回值给了result 因为方法add是用int类型所以result也会用int型接收


既然方法有返回值,那么这些返回值也可以直接输出

system.out.println(add(10,20));]


在定义方法的时候有一点特别需要注意。

如果某一个方法上使用了void定义(无返回值),

那么该方法中可以直接用return来结束调用。//一般与if语句连用


方法重载方法名相同,参数的类型或个数不同

比如说 小明帮忙去买饭

一般来说都是给小明钱买饭

可是我今天没现金

或许我给的是微信红包

也可以是欠条

也可以是iPhone x

最终小明都会帮我买饭

这个例子就是来说明:传入的参数不同选择不同的处理形式最终实现相同功能

eg:实现方法重载

public static void main(String args[])

{


System.out.println(add(10,20));

System.out,println(add(10,20,30));

System.out.println(add(10.1,20.2));

}

public static int add(int x, int y){

return x+y;

}

public static int add(int x,int y,int z){

return x+y+z;

}

public static double add(double x, double y){

return x+y;

}

结果:30        60         30.2999999999999999997

结论 各自根据参数的类型或个数执行不同的方法体,这就是方法的重载。

但是,程序的对的但是有一点设计不好。

回到买饭的事情上。不管是纸币还是转账等。返回的应该是实物。

类型应该是相同的。

方法参数的方法的返回结果应该是能接受的

在进行方法的重载的时候有一个重要的原则:要求方法的返回值类型一定要相同。

方法递归调用

一般如果要进行方法的递归操作往往都具备有以下特点:

1.方法必须有一个递归的结束条件

2.方法在每次递归处理的时候一定要做出一些变更

eg:实现一个1到100的累加操作

public static void main(String args[]){

system.out.println(sum(100));

}

public static in sum(int num)

{

if(num==1){//结束条件

return 1;

}

return num+sum(num-1);//sum(num-1)为改变条件

}


/*

[main()调用]第一次执行sum()方法:return 100+sum(100-1);

[sum()递归]第二次执行sum()方法: return 99+sum (99-1);

[sum()递归]第三次执行sum()方法: return  98+sum(98-1);

[sum()递归]倒数第二次执行sum()方法:return 2+sum(2-1);

[sum()递归]倒数第一次执行sum()方法:return 1;

(我个人觉得理解递归就是如果是本题的话

sum(100-1)就相当于i--,因为sum(99),sum是一个方法 只要不是sum(1),就没有返回结果 作用就是做到了自减)


如果想用递归计算阶乘只需要在上面的方法定义的int 改为double以防止超过int的最大值

并且return num+sum(num-1)的加号改成乘号

即可 num也可以改成mul 来更好的表达乘法

使用while语句也可以用递归来表示

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值