一、定义方法
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);