一、定义方法

1.除了main方法以外,我们还可以自己定义方法,方法是程序执行的最小单元。

2.定义了方法可以直接调用,可以直接拿来用,缩小了代码的冗余。

在Student类中定义方法 如:


public class Student{
    public void cooke(){
        System.out.println("买菜");
        System.out.println("洗菜");
        System.out.println("做菜");
        System.out.println("炒菜");
   }
}

调用方法:在Demo类中调用 如:

Stduent s=new Student();//对象
s.cooke();//调用

二、函数传参:方法接收参数可以把和一类相关的封装到一个方法中

如果没有参数传参则是

public class Student{
    //定义两个吃的方法
    public void eatCake(){
        System.out.println("吃蛋糕");
    }
    public void eat(){
        System.out.println("吃肘子");
    }
}

那么就要分开调用

public class Student{
    public void eat(String food){
        //接受一个形参
        System.out.println("吃"+food);
    }
}
Stduent s=new Student();
//调用
s.eat("蛋糕");
s.eat("肘子");

注意:(一个形参可以接受多个实参)

形参:就是形式参数,用于定义方法的时候使用的参数接收调用者传递的信息,因此形参只在内部方法有用,针对引用对象的改动无法影响到方法外 实参:就是实际参数,用于传递给方法的参数。

三、传递多个参数

public class Student{
    public void eat(String food,String fruit){
        //两个形参
         System.out.println("吃"+food+"和吃"+fruit);
    }
}
Stduent s=new Student();
//调用的时候输入两个实参
s.eat("蛋糕","桃子");

例子:大于425四级就过了,反之没过

public class Student{
    public void test(int score){
        if(score>=425){
              System.out.println("过了");
        }else{
              System.out.println("没过");
        }
    }
}
Stduent s=new Student();
s.test(450);

四、 参数的类型:

1.参数类型:根据方法需求定义

2.时间 int 类型,吃的食物,食物就是 String 类型

3.(断点:F5下一步 F6进入方法内部 F8直接跳到下一个断点)

五、返回值

1.返回值就是方法中定义的逻辑(方法体)进行加工处理得到的结果,然后将结果(结果类型和返回值类型相同)返回。

2.然后程序拿到返回值去干别的事(执行下面的业务逻辑)

例:(返回值类型 int 类型)大于425四级就过了,反之没过,过了返回1,没过返回0

public class Student{
    public int test(int score){
        if(score>=425){
            //过了返回1
            return 1;
        }else{
            //反之返回0
            return 0;
        }
    }
}
Stduent s=new Student();
int test=s.test(450);
if(test==1){
    System.out.println("晚上去喝酒");
}else{
    System.out.println("图书馆学习");
}

注:以下这个不可以,因为方法功能是单一,如果这样写逻辑是没有边界的。

以下功能是看考没考过四级,而不是考没考过四级之后的事。

public class Student{
    public int test(int score){
        if(score>=425){
            System.out.println("晚上去喝酒");
            return 1;
        }else{
            System.out.println("图书馆学习");
            return 0;
        }
    }
}

另一个返回值类型(boolean类型)

public class Student{
    public boolean test(int score){
        if(score>=425){
            //过了返回true
            return true;
        }else{
            //反之false
            return false;
        }
    }
}
Stduent s=new Student();
boolean test=s.test(450);
if(test){
    //返回布尔类型如果为true则输出去喝酒
    System.out.println("晚上去喝酒");
}else{
    //反之则去学习
    System.out.println("图书馆学习");
}

六、返回值的类型(根据需求来定义的)

定义一个方法三部分:

1.接受什么参数

2.方法体

3.返回值类型

七、函数重载

注:1.方法名相同,参数类型或者参数个数不同,

2.和顺序、位置有关系,

3.跟变量名无关。(例如下)

public class Student(){
    //方法重载
    public int add (int a,int b){
        return a+b;
    }
     public int add (int a,int b,int c){
        return a+b+c;
    }
}
Stduent s=new Student();
s.add(10,20,30);