2020-06-16

方法重载的基本使用与方法重载的注意事项        代码:/*

* 对于功能类似的方法来说,因为参数类表不一样,却需要记住那么多不同的方法名称,太麻烦*

* 方法的重载(Overlood),多个方法的名称一样,但是参数类表不一样。* 好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。*

* 方法重载与下列因素相关:

* 1. 参数个数不同* 2. 参数类型不同* 3. 参数的多类型顺序不同*

* 方法重载与下列因素无关:

* 1.与参数的名称无关* 2.与方法的返回值类型无关* */

public class Demo01MethodOverload {

public static void main(String[] args) {

/* System.out.println(sumTwo(10, 20)); // 30

System.out.println(sumThree(10, 20, 30)); // 60

System.out.println(sumFour(10, 20, 30, 40));*/

        System.out.println(sum(10, 20)); // 30

        System.out.println(sum(10, 20, 30)); // 60

        System.out.println(sum(10, 20, 30, 40)); // 100

    }

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

System.out.println("有2个参数的方法执行!");

        return a + b;

    }

public static int sum(int a, int b, int c) {

System.out.println("有3个参数的方法执行!");

        return a + b + c;

    }

public static int sum(int a, int b, int c, int d) {

System.out.println("有4个参数的方法执行!");

        return a + b + c + d;

    }

}

重载练习1_四中不同参数类            代码:/*

* 题目要求:

* 比较两个数据是否相等,

* 参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型.

* 并在main方法中进行测试* */

public class Demo02MethodOverloadSame {

public static void main(String[] args) {

byte a =10;

        byte b =20;

        System.out.println(isSame(a, b));

        System.out.println(isSame((short)20, (short)20));

        System.out.println(isSame(11, 12));

        System.out.println(isSame(10L, 10L));

    }

public static boolean isSame(byte a, byte b) {

System.out.println("两个byte参数的方法执行!");

        boolean same;

        if (a == b) {

same =true;

        }else {

same =false;

        }

return same;

    }

public static boolean isSame(short a, short b) {

System.out.println("两个short参数的方法执行!");

        boolean same = a == b ?true :false;

        return same;

    }

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

System.out.println("两个int参数的方法执行!");

      return a == b;

    }

public static boolean isSame(long a, long b) {

System.out.println("两个long参数的方法执行!");

        if (a == b) {

return true;

        }else {

return false;

        }

}

}

重载练习2_判断方法的正确与错误        代码:public class Demo04OverloadJudge {

public static void oprn() {}// 正确重载

    public static void oprn(int a) {}// 正确重载

    static void oprn(int a, int b) {}// 代码错误:和第8行冲突

    public static void oprn(double a,int b) {}// 正确重载

    public static void oprn(int a,double b) {}// 代码错误:和第6行冲突

    public  void oprn(int i,double d) {}// 代码错误:和第5行冲突

    public static void OPRN() {}// 代码正确不会报错,但是并不是有效重载

    public static void oprn(int i,int j) {}// 代码错误:和第三行冲突

}

重载练习3_实现重载的pri             代码:// byte short int long float double char boolean

// String

// 在调用输出语句的时候,println方法其实就是进行了多种类型的重载形式.

public class Demo04OverloadPrint {

public static void main(String[] args) {

myPrint(100); // int

        myPrint("Hello"); // String

    }

public static void myPrint(byte num) {

System.out.println(num);

    }

public static void myPrint(short num) {

System.out.println(num);

    }

public static void myPrint(int num) {

System.out.println(num);

    }

public static void myPrint(long num) {

System.out.println(num);

    }

public static void myPrint(float num) {

System.out.println(num);

    }

public static void myPrint(double num) {

System.out.println(num);

    }

public static void myPrint(char zifu) {

System.out.println(zifu);

    }

public static void myPrint(boolean is) {

System.out.println(is);

    }

public static void myPrint(String str) {

System.out.println(str);

    }

}

数组的概念            代码:/*

* 数组的概念:是一种容器,可以同时存放多个数据值。*

* 数组特点:

* 1. 数组是一种引用数据类型* 2. 数组当中的多个数据,类型必须统一* 3. 数组的长度在程序运行期间不可改变* */

import org.w3c.dom.ls.LSOutput;

public class Demo01Array {

public static void main(String[] args) {

int score1 =100;

        int score2 =98;

        int score3 =99;

        System.out.println(score1 + score2 + score3);

    }

}

数组的定义格式一_动态初始化            代码:/*

* 数组的概念:是一种容器,可以同时存放多个数据值。*

* 数组特点:

* 1. 数组是一种引用数据类型* 2. 数组当中的多个数据,类型必须统一* 3. 数组的长度在程序运行期间不可改变*

*数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。*

* 两种常见的初始化方式:

* 1. 动态初始化(指定长度)* 2. 静态初始化(指定内容)*

* 动态初始化数组的格式:

* 数据类型[] 数组名称 = new 数据类型[数组长度];

*

* 解析含义:

* 左侧数据类型: 也就是数组当中保存的数组,全是统一的什么类型* 左侧的中括号: 代表我是一个数组* 左侧数组名称: 给数组去一个名字* 右侧的new: 代表创建数组的动作* 右侧数据类型: 必须和左边的数据类型保持一致* 右边中括号的长度: 也就是数组当中,到底可以保存多少个数据,是一个int数字*

* */

import org.w3c.dom.ls.LSOutput;

public class Demo01Array {

public static void main(String[] args) {

// 创建一个数组,里边可以存放300个int数据

        // 数据类型[] 数组名称 = new 数据类型[数组长度];

        int [] arrayA =new int[300];

        // 创建一个数组,能存放10个double类型的数据

        double[] arrayB =new double[10];

        // 创建一个数组,能存放5个字符串

        String[] arrayC =new String[5];

    }

}

数组的定义格式二_静态初始化        代码:/*

* 动态初始化(指定长度): 在创建数组的时候,直接指定数组当中的数据元素个数。* 静态初始化(指定内容): 在创建数组的时候,不直接指定数据个数多少,而是直接将具体的数据内容进行指定。*

* 静态初始化基本格式:

* 数据类型[]数组名称 = new 数据类型[]{元素1, 元素2, ... };

*

* 注意事项:

* 虽然静态初始化没有直接告诉长度,但是根据大括号里面的元素具体内容,也可以自动推算出来长度* */

public class Demo00Array {

public static void main(String[] args) {

// 直接创建一个数组,里面装的全都是int数字,具体为: 5、15、25

        int[] arrayA =new int[] {5, 15, 25, 40};

        //创建一个组,用来装字符串:"Hello"、"World"、"Java"

        String[] arrayB =new String[] {"Hello","World","Java"};

    }

}

数组的定义格式三_省略的初始化        代码:/*

* 使用静态初始化数组的时候,格式还可以省略一下。*

* 标准格式:

* 数据类型[]数组名称 = new 数据类型[] { 元素1, 元素2, ... };

*

* 省略格式:

* 数据类型[]数组名称 = { 元素1, 元素2, ... }

*

* 注意事项:

* 1. 静态初始化没有直接指定长度,但是仍然会自动推算得到长度。* 2. 静态初始化标准格式可以拆分成为两个步骤。* 3. 动态初始化也可以拆分成为两个步骤。* 4. 静态初始化一旦使用省略格式,就不能拆分成为两个步骤。*

* 使用建议:

* 如果不确定数组当中的具体内容,用动态初始化:否则,已经确定了具体的内容,用静态初始化。* */

public class Demo02Array {

public static void main(String[] args) {

// 省略格式的静态初始化

        int[] arrayA = {10, 20, 30};

        // 静态初始化的标准格式,可以拆分成为两个步骤

        int[] arrayB;

        arrayB =new int[] {11, 21, 31};

        // 动态初始化也可以拆分成为两个步骤

        int[] arrayC;

        arrayC =new int[5];

        // 静态初始化的省略格式,不能拆分成为两个步骤。

      /* int[] arrayD;

arrayD = { 10, 20, 30};*/

    }

}

访问数组元素进行获取            代码:/*

* 直接打印数组名称,得到的是数组对应的:内存地址哈希值。* 二进制:01

* 十进制:0123456789

* 16进制:0123456789abcdef

*

* 访问数组元素的格式:数组名称[索引值]

* 索引值:就是一个int数字,代表数组当中元素的编号。* 【注意】索引值从0开始,一直到“数组的长度-1”为止。* */

public class Demo04ArrayUse {

public static void main(String[] args) {

// 静态初始化的省略格式

        int[] array = {10, 20, 30};

        System.out.println(array); // [I@75412c2f

        // 直接打印数组当中的元素

        System.out.println(array[0]); // 10

        System.out.println(array[1]); // 20

        System.out.println(array[2]); // 30

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

        // 也可以将数组当中的某一个单个元素,赋值交给变量

        int num = array[1];

        System.out.println(num); // 20

    }

}

访问数组元素进行赋值

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。