文章目录

  • 1.方法使用
  • 2.方法调用
  • 3.方法重载


1.方法使用

  • 方法:若干语句的功能集合
  • 定义格式
public class 方法名称(){
	方法体;
}
  • 调用格式
方法名称();
  • 注意事项


...
public static void main(String[] args) {
        print();//调用
    }
	//定义方法
    private static void print(){
        for(int i=0;i<5;i++){
            for(int j=0;j<8;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
...
  • 参数:进入方法的数据.
  • 返回值:从方法返回的数据
  • 定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
	方法体;
	return 返回值;
}


2.方法调用

  • 单独调用,


  • 打印调用


  • 赋值调用


...
public static void main(String[] args) {
		//单独调用和赋值调用
        int sum=getSum(5,6);
        //打印调用
        System.out.println(sum);
    }
	//求和
    public static int getSum(int a,int b){
        return a+b;
    }
  • 方法调用流程
  • java 不写servece java void可以不写_java 不写servece

  • 有参数和无参数


public static void main(String[] args) {
        printCount(10);
    }

    /*
    三要素
    返回值类型:只是进行一大堆打印操作而已,没有计算,也没有结果要告诉调用处
    方法名称:printCount
    参数列表:到底要打印多少次?必须告诉我,否则我不知道多少次,没法打印。次数:int
     */
    public static void printCount(int num) {
        for (int i = 0; i < num; i++) {
            System.out.println("Hello, World!" + (i + 1));
        }
    }
  • 注意事项
  1. 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
  2. 方法定义的前后顺序无所谓。
  3. 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
  4. 如果方法有返回值,那么必须写上“return 返回值;”,不能没有。
  5. return后面的返回值数据,必须和方法的返回值类型,对应起来。
  6. 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
  7. 对于void方法当中最后一行的return可以省略不写。
  8. 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。

3.方法重载

  • 基本使用


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


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


...
public static void main(String[] args) {

        System.out.println(sum(10, 20)); // 两个参数的方法
        System.out.println(sum(10, 20, 30)); // 三个参数的方法
        System.out.println(sum(10, 20, 30, 40)); // 四个参数的方法


        sum(10, 20);
    }

    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(int a, int b) {
        System.out.println("有两个方法参数执行");
        return a + b;
    }



    public static int sum(double a, double b) {
        return (int) (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;
    }

...
  • 重载判断
public static void open(){} // 正确重载
    public static void open(int a){} // 正确重载
    static void open(int a,int b){} // 代码错误:和第8行冲突
    public static void open(double a,int b){} // 正确重载
    public static void open(int a,double b){} // 代码错误:和第6行冲突
    public void open(int i,double d){} // 代码错误:和第5行冲突
    public static void OPEN(){} // 代码正确不会报错,但是并不是有效重载
    public static void open(int i,int j){} // 代码错误:和第3行冲突

鄙人知识浅薄,错误之处,还请及时指正,不胜感激!