方法的定义和调用
修饰符列表 返回值类型 方法名(形式参数列表){ 方法体; 返回值; } public static int sum(int x,int y){//方法的定义 int sum=0; sum = x + y; return sum; } Text text = new Text(); text.sum(2,2);//方法的调用
注意
1、static修饰符修饰的方法为静态方法,可以不需要声明对象调用,可直接使用类名.方法( ) 的方式调用方法
2、修饰符private、protected、public和default的区别
2.1、public>protected>default>private
2.2、public-->类内部、本包、子类、外部包
protected-->类内部、本包、子类
default-->类内部、本包
private-->类内部
3、return除了让方法返回一个值外还有结束方法的作用,return语句习惯上写在方法的末尾。
方法重载
方法重载:方法重载就是在同个类中声明多个方法名相同的方法,但是每个方法的形式参数列表不同。方法重载的重点就是在形式参数列表上,可以是参数列表中值的个数不同,可以是值的类型不同,总之就是形式参数列表要不同。不同的形式参数列表可以在方法调用时已传入不同的参数调用不同的方法。
public static int add(int nmu1,int num2){ int result = nmu1+num2; return result; } public static int add(int nmu1,int num2,int num3){ //方法重载,方法名相同,形式参数列表个数不同,或者是类型不同 int result = nmu1+num2+num3; //在调用方法时传递不同的参数即可实现方法重载 return result; } public static double add(double nmu1,double num2){ double result = nmu1+num2; return result; }
方法递归
方法递归:递归就是让方法自己调用自己,直到调用到最后一次有返回值时,递归方法将依次从后往前返回值,最后得到结果
public static void main(String[] args) { Demo03 demo03 = new Demo03(); System.out.println(demo03.factorial(10)); } int factorial(int n){ if (n==1){ return 1; }else { return n * factorial(n - 1);//f(5)*f(4)*f(3)*f(2)*f(1)==1,当f(1)取到值后,依次回退执行 } }
注意:
1、在方法递归中最重要的就是如何将方法停下来,可以理解为递归方法的最后一项是一个确定的值。
2、方法递归并不建议经常使用,因为容易陷入死循环,浪费资源。
可变参数
可变参数:可变参数本质上是一个数组
public static int printMax(int...num){ //声明可变参数 if (num.length==0){ System.out.println("未输入"); return 0; } int result=num[0]; for (int i=1;i<num.length;i++){ //循环,判定最大值 if (result<num[i]){ result=num[i]; } } return result; }