Java中方法的定义与使用(直接在主方法中调用)
一、方法的声明
public static 方法返回值 方法名称([参数类型 变量 ...]){
方法体代码;
[return 返回值];
}
注:
- void声明的方法没有返回值(但可以与return语句配合使用,表示函数结束)
- Java方法只有值传递
一个简单方法的例子
public class Test{
public static void main(String[] args) {
int x = 5;
int y = 10;
System.out.println(add(x, y));
}
public static int add(int x,int y){
return x+y;
}
}
void方法与return配合使用
public class Test{
public static void main(String[] args) {
int x=2;
}
public static void myPrint(int x){
if (x==2) {
return ;//若执行此语句,则此语句后面的代码不被执行,方法结束调用。
}
else {
System.out.println(x);
}
}
}
二、方法重载
定义:方法名称相同,参数的类型或个数不同,与返回值类型无关!!!
不能有两个名字相同、参数类型也相同却返回不同类型值的方法
Java中根据编码规范在进行方法的重载时,要求方法的返回值一定相同!
如果方法名称相同,参数个数相同,但参数类型的顺序不同,在Java中也算重载,但没有意义。
最经典的重载例子就是Java中print()函数
public class Test{
public static void main(String[] args) {
int x = 5;
int y = 10;
System.out.println(add(x, y));
System.out.println(add(x));
}
public static int add(int x,int y){
return x+y;
}
public static int add(int x){
return x + 5;
}
}
三、方法递归
定义:指的是一个方法自己调用自己的方式。
递归方法的特点:
1. 方法必须有递归的结束条件
2. 方法在每次递归处理的时候一定要作出一些变更
递归实现阶乘
public class Test{
public static void main(String[] args) {
System.out.println(factorial(10));
}
public static int factorial(int x){
if(x == 1)
return 1;
else{
return x*factorial(x-1);
}
}
}