十方法

Posted 带棘的小猬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十方法相关的知识,希望对你有一定的参考价值。

方法(method)就是一段具有独立功能的代码块,不调用就不执行

优点:提高代码的复用性,提升了效率,减少代码的冗余。

1、方法的格式

普通函数

// 方法
public static void fn(){
    System.out.println("执行函数");
}
// 执行
fn();

传参函数

// 方法
public static void numSum(int a,int b){
    int sum = a + b;
    System.out.println(sum);
}
// 执行
numSum(10,20);

返回值函数

// 方法
public static int numSum(int a,int b){
    int sum = a + b;
    return sum;
}
// 执行
int sum = numSum(10,20);   //赋值调用
System.out.println( numSum(30,50) );  //打印调用

2、方法注意事项

  1. 方法不能嵌套定义
  2. 方法被调用才能执行,先定义再调用最后才能执行。
  3. void方法没有返回值; return可以省略不写,如果一定要写,return后面不能有具体的返回值
  4. 有返回值的方法,必须有return返回值,而且return后面的值,要与返回值相匹配
  5. return后面不能在写代码,因为永远不会执行,而且会报错

3、方法的重载

  1. 在同一个类中,方法名相同,

  2. 参数列表不一样(参数的类型不同,参数的个数不同,参数类型的循序不同)

  3. 注意:方法的重载与返回值无关

class PhoneMell{
    public static void main(String[] args){
        Phone p1 = new Phone();
        p1.price = "1999元";
        p1.show("优惠多多");
    }
}

class Phone{
    public String price;
    public void show(){
        System.out.println("手机价格:"+this.price);
    }

    public void show(String str){
        System.out.println("手机价格:"+this.price + ";" + str);
    }
}

4、可变个数形参

  • jdk 5.0 新增的方法

  • 具体使用:

    1.可变个数的形参的格式:数据类型 ...变量名
    2.当调用可变个数形参的时候,可以传任意个形参,包括0个,
    3.可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载
    4.可变个数形参的方法与本类中方法名相同,形参类型也相同的 数组 之间不构成重载。可以说,二者不能共存
    5.可变个数形参在方法的形参中,最多只能声明一个可变形参,并且只能放在最后

实例:

执行可变个数形参

public class zhTest {
    public static void main(String[] args) {
        zhTest z = new zhTest();
        z.show("hello","world");
    }

    public void show(String str){
        System.out.println(str);
    }
    public void show(String ...strs){
        System.out.println("strs");
    }
}

形参类型页相同的数组,二者不能共存

5、方法的值传递机制

  • 形参:方法定义时,声明的小括号内的参数
  • 实参:方法调用时,实际传递给形参的值
  • 值传递机制:
    • 如果参数是基本数据类型,此时实参赋给形参的是实参真实储存的数值
    • 果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值

基本数据类型形参的值传递机制

引用数据类型参数的值传递机制

6、递归方法

  1. 递归方法:一个方法体内调用它自身。

    • 方法递归包含了一种隐式的循环,他会重复执行某段代码,但这种重复执行无须循环控制。

    • 递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似死循环

public static void main(String[] args) {
    ZhTest test = new ZhTest();
    int num = test.getSum(3);
    System.out.println(num);
}
public int getSum(int n){
    if(n == 1){
        return 1;
    }else{
        return n + getSum(n-1);
    }
}

以上是关于十方法的主要内容,如果未能解决你的问题,请参考以下文章

分享十二个有用的jQuery代码

记录下一个软件工程专业大三学生的生活片段

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

如何傻瓜式截取视频某一片段?

Android课程---Android Studio使用小技巧:提取方法代码片段