【Java】方法

方法是什么

        方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用

方法的好处:提高了代码的复用性 让程序的逻辑更清楚

public class MethorDemo {
    public static void main(String[] args) {
      int d = sum(10,20);
        System.out.println(d);
    }

    public static int sum(int a,int b){
        int c = a+b;
        return c;
    }
}

方法定义 调用

方法完整的定义格式:

修饰符 返回值类型 方法名(形参列表){

方法体代码(需要执行的功能代码)

return 返回值;

}

例:

public static int add (int a,int b){

int c = a+b;

return c;

}

方法的调用格式:

方法名(...);

int sum = add(10,20);

System.out.println(sum);

 方法格式的注意点

        方法的修饰符:暂时使用public static后面会深入讲解

        方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据

        形参列表可以有多个,甚至可以没有;如果有多个形参加“,”隔开,且不能初始化​​​​​​​

注意事项

        如果方法不需要返回结果,返回值类型必须申明成void(无返回值),此时方法内部不可以使用return返回数据

        方法如果没有参数,没有返回值类型申明为void可以称之无参数,无返回值的方法,以此类推。

1.如果方法不需要返回结果,不需要接收参数,应该怎么办,要注意什么?

        方法没有申明返回值类型,内部不能使用return返回数据

        方法如果没有形参列表,调用的时候则不能传入参数值,否则报错

        方法不需要返回结果,则申明返回值类型为void;方法不需要参数,则形参列表可以不写

方法使用的常见问题

        1.方法的编写顺序无所谓

        2.方法与方法之间是平级关系,不能嵌套定义

        3.方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据

        4.return语句下面不能编写代码,因为永远执行不到,属于无效代码

        5.方法不调用就不执行,调用时必须严格匹配方法的参数情况

        6.有返回值的方法调用时可以选择定义变量接收结果,或者直接输出直接调用;无返回值方法的调用只能直接调用

简洁总结:

        1.顺序:在main之前,也可以之后(无顺序)

        2.平级,不能嵌套

        3.void,不能return,有返回值类型必须return

        4.return,下面不能写代码

        5.方法不调用就不执行,调用必须严格匹配方法的参数

        6.有返回值:①定义变量接收结果②输出调用③直接调用

           无返回值:①直接调用

 方法调用时需要进入栈内存

        栈后面会提到:先进后出后进先出

方法的参数传递机制

Java的参数传递机制:值传递

        在传输实参给方法的形参的时候,并不是传输实参变量本身,而是传输实参变量存储的值,这就是值传递

注意:

        实参:如在方法内部定义的变量

        形参:如在方法定义时,“()”中所声明的参数

1.基本类型和应用类型的参数传递有什么不同?

        两者都是值传递

        基本类型的参数传存储的数据值

        引用类型的参数传存储的地址值

 方法重载

        同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法

可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计

public class MethorDemo {
    public static void main(String[] args) {
        fire();
        fire(999);
        fire(999,"M国");
    }
    public static void fire(){
        System.out.println("发射1枚导弹给M国");
    }
    public static void fire(int a){
        System.out.println("发射"+a+"枚导弹给M国");
    }
    public static void fire(int a,String s){
        System.out.println("发射"+a+"枚导弹给"+s);
    }
}

1.方法重载是什么样?

        同一个类中,多个方法的名称相同,形参列表不同

2.使用方法重载的好处?

        对于相似功能的业务场景:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计

方法重载的识别

1.方法重载的关键要去是什么?

        只要是同一个类中,方法名称相同形参列表不同,那么他们就是重载的方法

        (如:修饰符,返回类型都无所谓)

2.形参列表不同指的是什么?

        形参列表不同指的是:形参的个数类型顺序不同,不关心形参的名称

return

        return; → 可以立即跳出结束当前方法的执行

public class MethorDemo {
    public static void main(String[] args) {
        chu(10,0);
    }
    public static void chu(int a,int b){
        if (b==0) {
            System.out.println("除0报错");
            return;
        }
        System.out.println(a /= b);
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值