5.5 方法
一句话概括就是,方法就是函数,是解决问题的一系列语句的集合,有输入有输出。
设计原则:每个方法最好保持方法原子性,就是一个方法只完成一个功能,这样方便后期迭代。
public + type + name(//参数){
//你想执行的语句
return //返回值
}
一个方法应该有一些部分:
- 修饰符,如public、static等等。
- 返回值类型,如int、float等等,如没有返回值则用void。
- 方法名,注意命名方法。
- 参数类型,有两种,形参和实参,也可没有参数。
- 方法体,就是你想要完成功能的主体部分。
方法调用:
与c++调用方式相同,注意是否有返回值即可。
方法的重载:
看到这个名字又让我想到了C++。
相同函数名不同的返回类型,用于解决多类型参数的情况:
public int name(int a){
}
public double name(double a){
}
......
参数个数不同、类型不同、顺序不同,以上情况可以使用重载。
5.6 命令行传参
可利用命令行运行代码,使用命令行传递需要的参数完成功能。
在terminal下使用如下:
注意事项:
- 需要在src路径下运行。
- args的类型时String,注意统一。
- 参数直接用空格隔开。
5.7 可变参数
也可以叫不定项参数,可以传递同类型的可变参数给一个方法。
定义方法是在指定类型后加省略号 “…” 然后再加参数名字。
如:
注意事项:
- 一个方法只能指定一个可变参数。
- 可变参数一定是最后一个参数。
- 其他非可变参数必须在其前面定义。
5.8 递归
递归是个很常用的方法,简单来说就是方法自己调用自己,直到出发终止条件。
递归是个大量使用内存的方法,虽然能简化代码,但是容易引起栈溢出而报错,所以常在小基数的情况下使用,或者尽量用非递归方法解决。