♦️方法的概念
什么是方法?
方法是将一组完成特定功能的代码整合在一起,以达到简化开发,减少代码耦合,提高代码复用性的结构,类似与C语言中的函数。方法是程序中最小的执行单元,可降低代码的重复性。
如用代码表示每种植物发射炮弹的过程,假设以下植物每分钟都发射20枚炮弹,即可用调用方法表示每分钟发射枚炮弹。
方法的优点
- 可以提高代码的复用性
- 可提高代码的可维护性
方法的格式
♦️方法的调用
🐡最简单的方法的定义和调用
例题:在方法里面定义两个变量并求和
import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);Getsum();//调用方法} //定义一个方法public static void Getsum(){int m=10;int n=20;System.out.println(m+n);} }
🐡带参数的方法的定义和调用
计算两个参数之和
import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);int m=sc.nextInt();int n=sc.nextInt();Getsum(m,n);//调用方法}//定义一个方法public static void Getsum(int m,int n){System.out.println(m+n);} }
定义方法,求长方形的周长
import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);int len=sc.nextInt();int wide=sc.nextInt();GetLength(len,wide);//调用方法}//定义一个方法public static void GetLength(int len,int wide){System.out.println((len+wide)*2);} }
求圆的面积(radious)
import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);double radious=sc.nextDouble();double PI=3.14;Circle(radious,PI);//调用代码}//定义一个代码public static void Circle(double radious,double PI){System.out.println(radious*radious*PI);} }
🐡带返回值的方法的定义和调用
格式:
例题: 比较两个长方形的面积
import java.util.Scanner; public class Main{public static void main(String[] args) {Scanner sc=new Scanner(System.in);int len1=10;int len2=15;int wide1=10;int wide2=15;int i1=Rectangle(len1,wide1);int i2=Rectangle(len2,wide2);if(i1>i2){System.out.println("i1");}else {System.out.println("i2");}}public static int Rectangle(int len,int wide){return (len*wide);} }
♦️方法的重载
🐡什么是方法的重载?
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法。
🐡方法重载判断
要点:
示例:使用方法重载的方法,比较两个数的大小
public class Main {public static void main(String[] args) {int i1=10;int i2=20;compare(i1,i2);}public static void compare(int i1,int i2){System.out.println(i1==i2);}public static void compare(byte b1,byte b2){System.out.println(b1==b2);}public static void compare(double d1,double d2){System.out.println(d1==d2);}
}