java基础---7. 方法

1. 打印五行星星,每行20个

public class Demo01Method {
    public static void main(String[] args) {
        for (int j = 0; j < 5; j++) {
            for(int i = 0; i < 20; i++){
                System.out.print('*');//去掉ln就不换行
            }
            System.out.println();//什么都不写等于一个换行
        }
    }
}

改写成方法的形式

public class Demo01Method {
    public static void main(String[] args) {
        printMethod();
    }
    public static void printMethod(){
        for (int j = 0; j < 5; j++) {
            for(int i = 0; i < 20; i++){
                System.out.print('*');//去掉ln就不换行
            }
            System.out.println();//什么都不写等于一个换行
        }
    }
}

注意:方法的定义不能嵌套,不可以在一个方法里面定义另一个方法

2. 方法的定义

public class Demo02MethodDefine {
    public static void main(String[] args) {
        System.out.println(sum(2,3));//5
    }
    //定义两个int数字相加的方法
    public static int sum (int a, int b) {//不可以在这里对形参直接赋值
        int rel = a + b;
        return  rel;
    }
}

注意:void函数没有返回值;对于没有返回值的函数,只可以单独调用,不可以打印或者赋值调用.

  • 判断两个数字是否相等
public class Demo01MethodSame {
    public static void main(String[] args) {
        System.out.println(isSame(2,3));//false
        System.out.println(isSame(5,5));//ture
    }
    //定义一个判断两个数字是否相等的方法
    public static boolean isSame(int a, int b) {
        return a==b;
    }
}
  • 方法使用时的注意事项:
/*
1. 方法应该定义在类中,不可以在方法中再定义方法
2. return后面的返回值数据必须和方法返回值类型对应起来
3. 对于一个void没有返回值的方法,不可以写return后面的返回值,但是可以写return自己
*/
public static void Method() {
    //return 10;错误
    return;//正确  这里的return用于结束方法的执行 且可以省略
}

3. 方法的重载

方法的重载:多个方法名称一样但是参数列表不一样。

public class Demo01MethodOverload {
    public static void main(String[] args) {
        System.out.println(sum(2,2,3));//7
        /*
        谁能对得上就用谁 谁都对不上就报错

        方法重载与下列因素相关:
        参数个数不同1 2 3
        参数类型不同1 4
        参数的多类型顺序不同5 6

        方法重载与下列因素相无关:
        与参数名无关
        与方法的返回值类型无关
        */
    }
    //1
    public static int sum(int a, int b) {
        return a + b;
    }
    //2
    public static int sum(int a, int b, int c) {
        return a + b + c;
    }
    //3
    public static int sum(int a, int b, int c, int d) {
        return a + b + c + d;
    }
    //4
    public  static int sum(double a, double b) {
        return (int) (a + b);
    }
    //5
    public  static int sum(double a, int b) {
        return (int) (a+b);
    }
    //6
    public  static int sum(int a, double b) {
        return (int) (a+b);
    }
}
  • 练习
public class Demo02MethodOverloadSame {
    /*
    题目要求:比较两个数据是否相等
    参数类型分别为:两个Byte,两个short,两个int,两个long
    并在main方法中进行测试
     */
    public static void main(String[] args) {
        byte a = 10;
        byte b = 20;
        System.out.println(isSame(a,b));//false  byte
        System.out.println(isSame(2,2));//true int
        System.out.println(isSame((short)2,(short)2));//short true
        System.out.println(isSame(20L,20L));//long true


    }
    public static boolean isSame(byte a, byte b) {
        System.out.println("byte");//字符串用双引号,字符用单引号
        return a == b;
    }
    public static boolean isSame(short a, short b) {
        System.out.println("short");
        return a == b;
    }
    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");
        return a == b;
    }
}

  • 练习

  • 练习

//基本数据类型:byte short int long float double char boolead
//引用数据类型:String
//在调用输出语句的时候,println方法其实就是进行了多种数据类型是重载形式。
public class Demo04OverloadPrint {
    public static void main(String[] args) {
        myPrint("hello");//hello
        short a = 2;
        myPrint(a);//2
        //等等 不再举例 上述任何数据类型都可以正确输出
    }
    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 ch) {
        System.out.println(ch);
    }
    public static void myPrint(boolean is) {
        System.out.println(is);
    }
    public static void myPrint(String str) {
        System.out.println(str);
    }
}
posted @ 2020-01-15 10:22  deer_cen  阅读(190)  评论(0编辑  收藏  举报