Java方法,重载方法

方法

方法:
定义行为;为了减少代码的重复性,可以被多次调用

声明方法:

  • 方法是否有结果:有返回值
  • 调用方法时,是否需要不确定数: 需要,则声明参数
  • 方法如果有返回结果,此结果返回给调用者
    格式:
    返回数据类型: 方法名(参数列表){ }

返回数据类型: 无返回类型 void ;有返回类型,是结果的数据类型

方法案例一

public class Demo {

    public static void main(String[] args) {
        //输入两个数,求和
        sum();
    }
    //自定义方法,实现输入两个数并求和
    static void sum() {
        //输入两个数,求和
        Scanner sc = new Scanner(System.in);
        int sum = 0, num = 0;
        System.out.println("请输入第一个数:");
        num = sc.nextInt();
        sum += num;
        System.out.println("请输入第二个数:");
        num = sc.nextInt();
        sum += num;
        System.out.println("两个数的和:" + sum);
        sc.close();//关闭与I/O的连接,释放资源
    }
}

运行结果

方法详解

在一个类中,可以出现多个重命的方法,但要求方法的参数不同:个数、类型、同个数但类型不同,从而构成了方法的重载

方法案例二

public class Demo{

    public static void main(String[] args) {
        int sum = sum(10, 9); //返回结果为19

        sop("sum->" + sum);//sum->19

        sop("10+19+8=" + sum(10, 19, 8));//10+19+8=37

        sop("10.5+19.25=" + sum(10.5, 19.25));//10.5+19.25=29.75
    }

    //有返回结果,有不确定的数
    static int sum(int a, int b) { //方法的重载

        if (a != 0 || b != 0)
            return a + b; //结果返回之后,后面的语句就不会执行

        //如果有返回结果,必须存在一个return语句
        return 0;
    }

    //功能:三个数相加,返回和
    static int sum(int a, int b, int c) { //方法的重载
        return sum(sum(a, b), c);
    }

    //功能:实现2个小数相加的和
    static double sum(double a, double b) { //方法的重载
        return a + b;
    }

    //功能:打印指定的消息,无返回结果,但有不确定的数据(有参)
    static void sop(String msg) {
        System.out.println(msg);

        //如果方法无返回数据,也可以使用return结束方法
        return;

        //return 之后的语句不能被执行--编译就不通过
        //System.out.print("<------->");
    }
}

局部变量,及方法调用的背后

局部变量的作用域,只限于方法内部。

方法的调用:入栈,分配内存空间,初始化局部变量;

方法的返回: 出栈,释放内存空间,在方法中定义的局部变量也就消失;

方法案例

public class Demo {

    public static void main(String[] args) {
        int a = 100;
        int b = 300;
        int sum = add(a, b); //调用方法,并获取其计算的结果
        sop("" + sum);
    }

    static int add(int a, int b) {

        //默认对每一个数增加相应的值
        a += 10;
        b += 20;
        int sum = a + b;

        return sum;
    }

    static void sop(String msg) {
        System.out.println(msg);

    }
}

图解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,804评论 18 399
  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 4,727评论 1 19
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,394评论 11 349
  • 黄昏,一个人漫步在海滩,望着这暂平静的海面,心中却荡起了层层波澜…… 曾在一本读物中,这样记载到世...
    璎珞小h阅读 196评论 1 3
  • 忽然想起你 雨天,听着雨,看到书上一句话:“放弃喜欢了很久的人,是一种什么感觉?” 心一怔,脑海里全是你。...
    白螺阅读 367评论 0 0