一、方法
Java的方法与C语言的函数是相似的,都是将某个功能集成化。
方法的定义
public static void 方法名称(){
方法体;
}
修饰符:现阶段的固定写法,public static
返回值类型:方法最终返回的数据是什么类型
方法名称:方法的名字,规则和变量一样,小驼峰式命名
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据是什么名称,多个参数使用逗号分隔
方法体:方法的功能具体实现过程
return:①停止当前方法②将后面的值返还给调用处
返回值:方法执行后产生的数据结果,return后面的返回值类型必须和方法定义的返回值类型相对应
示例程序:
public class method_practice {
public static void main(String[] args){
//main方法,自己定义的方法要在main方法中调用才会运行
System.out.println(sum(6,3));
}
public static int sum(int a,int b) {
int result = a + b;
return result;
}
}
注意事项:
1、方法要定义在类中,不能在方法中再定义方法。
2、方法的前后顺序无所谓。
3、void定义的方法,没有返回值,不用写return也可以。
4、一个方法中可以有多个return,但是只有一个return会用到。
二、方法的重载
多个方法的名称一样,但是参数列表不一样。
作用:记住唯一一个方法名称就可以实现类似的不同数据的相同功能。
方法重载的相关要素:
1、参数个数不同
2、参数的类型不同
3、参数的多类型顺序不同
4、与方法的返回值无关
public static int sum(int a,int b){
System.out.println("有两个参数的方法!");
return a+b;
}
public static int sum(int a,int b,int c){
System.out.println("有三个参数的方法!");
return a+b+c;
}
public static int sum(int a,double b){
return (int)(a+b);
}
public static int sum(double a,int b){
return (int)(a+b);
}
另外一种使用方法重载的形式:在输入不同数据的同时就已经是在使用方法重载。
三、递归
方法自己调用自己。递归一定要有出口
public class Demo_recursion {
public static void test1(int n){
System.out.println("test1.....");
if(n<0){
return;//递归的出口
}
test1(n-1);//方法的递归调用
}
public static void main(String[] args) {
test1(5);
}
}
用递归的方法来计算1-5的和
public class Demo_recursion {
//用递归的方式求1-5的和
public static int getsum(int n){
if (n==1) {
return 1;
}
return getsum(n-1)+n;
}
public static void main(String[] args) {
System.out.println(getsum(5));
}
}