老王的18天

    技术2022-07-12  67

    使用方法的时候,注意事项: 1,方法应该定义在类当中,但是不能在方法当中再定义方法,不能嵌套。 2,方法定义的前后顺序无所谓, 3,方法定义之后,不会执行,想要执行,一定要调用。单独调用,打印调用,赋值调用。 4,如果方法有返回值,那么必须写上“return 反回值;“,不能没有 5,return后面的返回值数据,必须和方法的返回值类型,对应起来 6,对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。 7,对void方法最后一行的return可以省略不写。 8,一个方法中可以有很多个return语句,但是必须保证同时只有一个会被执行。两个return不能连写。

    public class Demo04MethodNotice{ public static int method1 () { return 10;//10是一个常量,是int类型,可以 (要对应起来) } public static void method2() { //return 10;//这样写就会报错,方法没有反回值,return后面 //就不能写返回值 return;//没有返回值,只是结果方法的执行而已。 } public static method3(){ System.out.println("AAA"); System.out.println("BBB"); //return;//最后一行的return可以省略不写, } public static int getMax(int a, int b){ /* int max; if(a > b){ max = a; }else{ max = b; } return max;*/ if (a > b){ return a; // return a;错误写法,直接就结束,不执行了 }else{ return b; } } }

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

    方法的重载(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));//100*/ System.out.println(sum(10, 20));//两个参数的方法 System.out.println(sum(10, 20. 30));//三个参数的方法 System.out.primtln(sum(10, 20, 30, 40));//四个参数的方法 // System.out.println(sum(10, 20, 30, 40, 50));//找不到任何方 //法来匹配,所以错误! } public static int sum (int a, double b){//参数多类型顺序不同 return (int) (a + b); } public static int sum (double a, int b){//参数多类型顺序不同 return (int) (a + b); } public static int sum/*Two*/(int a, int b){//也就是把Two去掉 System.out.println("有两个参数想加"); return a + b; } //错误写法,与方法的返回值类型无关 // public static double sum(int a, int b){ // return a + b; // } //错误写法!与参数的名称无关 //public static int sum(int x, int y){ // return x + y; // } public static int sum(double a, double b){//参数类型不同,强转 //以下。「也是参数 //类型不同」 return (int) a + b; } public static int sum/*Three*/(int a, int b, int c){//去掉 System.out.println("有三个参数想加"); return a + b + c; } public static int sum/*Four*/(int a, int b. int c, int d){ //去掉Four System.out.println("有四个参数想加"); return a + b + c + d; } }

    与方法重载的练习题: 第一题:题目要求: 比较两个数据是否相等。 参数类型分别为两个byte类型,两个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(11, 12); System.out.println(10L, 10L);//long类型的后缀是L记得带上 } 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; } } }

    第二道: 定义一个方法,用来求出1-100之间的所有数字的和值 提示:求出或者得到 都是有返回值的

    public class Demo03MethodSum{ public static void main(String[] args){ System.out.println("结果是 " + getSum());//5050 } /*三要素: 返回值:有返回值,计算结果是一个int数字。 方法名称:getSum 参数列表:数据范围已经确定,是固定的。所以不需要告诉我任何条件。 不需要参数 */ public static int getSum(){ int sum = 0; for(int i = 1; i <= 100; i++){ sum += i; } return sum; }   }
    Processed: 0.015, SQL: 10