0
点赞
收藏
分享

微信扫一扫

day14 方法原则 方法命名 方法组成 方法重载

雷亚荣 2022-02-17 阅读 64

目录

何为方法

方法定义和调用

方法重载

命令行传参

可变参数

递归

什么是方法?

  • 方法是解决一类问题的步骤的有序组合

  • 方法包含于类或者对象中

  • 方法在程序中被创建,在其他地方被引用

  • 用一段用来完成特定功能的代码片段

实例

package com.ckw.blog.mathod;

public class demo01 {
    //main方法是程序自有执行方法
    //public是标示符意思:公用的 static也是标示符意思:静态 void意思是空间
    //加static变成类变量,可以直接调用
    public static void main(String[] args) {
        int i =add(8,9);
        System.out.println(i);
        dda();
    }
    //写一个加法运算的方法
    //标示符 标示符 返回值类型 方法名(变量){}
    public static int add(int a ,int b){
        return a+b;
    }
    //写一个三角形的方法
    public static void dda() {
        for (int j = 0; j <=5; j++) {
            for (int i = 5; i >=j; i--) {
                System.out.print(" ");
            }
            for (int i = 0; i <=j; i++) {
                System.out.print("*");
            }
            for (int i = j; i >0; i--) {
                System.out.print("*");
            }

            System.out.println("");
        }
}}

1. 加static(静止) 变为类变量

2. 不加static为实例变量。需要用new引用

类 变量 = new 类();

变量.方法

设计方法的原则

方法的原子性,就是一个方法只完成一个功能,便于后期扩展

main方法尽量保持简洁干净

方法的命名规则

方法命名规则,首字母小写,驼峰原则

方法的组成

方法包含一个方法头和一个方法体

修饰符 返回值类型 方法名(参数类型 变量){方法体}

return 返回值

  1. 修饰符(可选)告诉编译器如何调用该方法,定义了该方法的访问类型

  2. 返回值类型:方法可能会返回值,return value是方法返回值的数据类型。有些方法执行所需操作,但没有返回值。这种情况下,return value type的类型为void(空)。就是有数字返回就为数字类型。没有就为void

  3. 方法名:方法的实际名称。方法名跟参数表共同构成方法签名

  4. 参数(可选):参数像占位符。当方法被调用时,传递值给参数。这个值称为实参或者变量。参数列表值得是方法的参数类型,顺序和参数的个数。需不需要参数都是可选的。方法可以不包含任何参数。

    形式参数实际参数的解释

    package com.ckw.blog.mathod;
    
    public class demo01test {
        //形式参数:a b就像是占位符。用来定义作用
        public static int add(int a ,int b){
        return a+b;
    }
    
        public static void main(String[] args) {
        //实际参数:就是实际传递给他的参数。
            System.out.println(add(2,3));
        }
    }
    
    1. 方法体:包含具体语句,定义该方法的功能。

注意点:

如果有return value 返回值的情况下就要写返回值类型。

如果没有返回值,返回值类型就是void

如果ruturn=0,方法终止不再运行。

比大小

package com.ckw.blog.mathod;

public class demo02_big {
    public static int dda(int a ,int b){
        int c = 0 ;
        if(a==b){
            System.out.println("结果相同不能比较");
            return 0;}//return=0方法终止不再运行
        if (a>b){c=a;}
        else if(a<b){c=b;}
        return c;
    }

    public static void main(String[] args) {
        int dd =dda(90 ,90);
        System.out.println(dd);
    }
}

方法重载

在同一个类中,有相同的函数名称,但是形参不同的函数。

  1. 方法名称相同
  2. 参数列表不同(个数不同,类型不同,参数排列不同,顺序不同)
  3. 方法返回类型不想干
  4. 返回类型不同,不足以成为方法的重载

实现理论

方法名字相同的时候,编译器会根据调用该方法的参数个数,参数类型去逐个匹配,以选择对应的方法,如果匹配失败,编译器报错。

(编译器会自己选择适合自己的尺寸类型的方法跑)真智能化。

(根据参数类型或者数量自动匹配形参选择方法进行)

package com.ckw.blog.mathod;

public class demo03_idea {
    public static int max(int a ,int b){
        int c = 0 ;
        if(a==b){
            System.out.println("结果相同不能比较");
            return 0;}
        if (a>b){c=a;}
        else if(a<b){c=b;}
        return c;
    }
    public static double max(double a ,double b){
        double c = 0 ;
        if(a==b){
            System.out.println("结果相同不能比较");
            return 0;}
        if (a>b){c=a;}
        else if(a<b){c=b;}
        return c;
    }
    public static double max(double a ,double b,double d){
        double c = 0 ;
        if(a==b){
            System.out.println("结果相同不能比较");
            return 0;}
        if (a>b){c=a;}
        else if(a<b){c=b;}
        return c+d;
    }
    public static void main(String[] args) {
        double dd =max(92 ,90,91);
        System.out.println(dd);
    }
}


举报

相关推荐

0 条评论