美文网首页从零学Java笔录
从零学java笔录-第21篇 方法(函数3之重载)

从零学java笔录-第21篇 方法(函数3之重载)

作者: 凯哥Java | 来源:发表于2017-06-24 09:23 被阅读8次

    本节主要内容:

    1:方法练习2

    1.1:根据键盘录入数据输出对应的乘法表

    2:方法重载概述和基本使用

    3:方法重载练习比较数据是否相等

    一:方法练习2

    需求:根据键盘录入数据输出对应的乘法表

    1:分析 99乘法口诀表 (自己回想下)

    2:返回类型。void(打印到控制台)

    3:参数列表 int a

    代码截图:

    代码:

    /**

    * 根据用户输入的值打印出对应的99乘法表

    * @param a

    */

    public static void parint99(int a){

    for (int i = 1; i

    for (int j = 1; j <=i; j++) {

    System.out.print(j+" * "+ i +"="+(i*j) +"\t");

    }

    System.out.println();

    }

    }

    输出结果:

    二:方法重载概述和基本使用

    1:重载定义

    方法名称相同,方法参数列表不同,与返回值类型无关的。

    1.1理解:

    比如我们add方法只能求两个数相加,那么现在想求三个数之和怎么办?

    在写个方法叫做add3,4个数求和 方法名叫add4吗?

    完全可以不用这样,因为我们可以使用重载来完成这些。

    既然方法的功能都是求和,那么方法名字都叫做add,只是参数列表不同。

    俩个数的求和,参数列表就俩个

    三个数的求和,列表参数就是三个。

    代码演示:

    具体代码:

    /**

    * 重载的定义:

    * 方法名称相同,参数列表不同,与方法返回类型无关

    *

    */

    public static void main(String[] args) {

    int a = 1;

    int b = 8;

    int c = 4;

    int sumab = add(a,b);

    System.out.println("a + b = "+ sumab);

    int sumabc = add(a,b ,c );

    System.out.println("a + b +c = "+ sumabc);

    }

    /**

    * 求三个数之和

    * @param a

    * @param b

    * @param c

    * @return 返回相加之和

    */

    private static int add(int a, int b, int c) {

    return a+b+c;

    }

    /**

    * 求两个数之和

    * @param a

    * @param b

    * @return 返回相加之和

    */

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

    return a+b;

    }

    运行结果:

    2:重载分类

    1:参数列表中个数不同(如上add方法)

    2:参数类型不同

    如下:

    现在需求:求两个小数的和

    运行结果:

    比较两个整数之和 & 两个小数之和的方法

    2.2:参数类型不同特殊 顺序不同

    三:方法重载练习

    需求:比较两个数据是否相等

    参数类型分为两个in他类型,两个doubl类型,并在main方法中进行测试

    MAIN函数:

    重载的两个函数:

    运行的结果:

    完整代码:

    public class OverloadTest {

    public static void main(String[] args) {

    int a = 5;

    int b = 4;

    boolean isEquesInt = isEquest(a,b);

    System.out.println("两个int "+a +" 、 "+b +"是否相等"+isEquesInt );

    double d1=1.5;

    double d2=3.2;

    boolean isEquesDouble = isEquest(d1,d2);

    System.out.println("两个double "+d1 +" 、 "+d2 +"是否相等"+isEquesDouble );

    }

    /**

    * 两个double 比较是否相等

    * @param d1

    * @param d2

    * @return

    */

    public static boolean isEquest(double d1, double d2) {

    return d1==d2;

    }

    /**

    * 两个int比较是否相等

    * @param a

    * @param b

    * @return

    */

    public static boolean isEquest(int a, int b) {

    return a==b;

    }

    }

    文章涉及代码:

    OverloadDemo(基础第21篇中方法重载演示代码)

    OverloadTest(基础中第21篇中方法重载练习代码)

    本文凯哥个人网站对应连接:从零学java笔录-第21篇 方法(函数3之重载)

    欢迎访问凯哥个人网站:http://www.kaigejava.com

    相关文章

      网友评论

        本文标题:从零学java笔录-第21篇 方法(函数3之重载)

        本文链接:https://www.haomeiwen.com/subject/siohcxtx.html