Java Method 方法概念 - 精通

Java Method Concept (Java方法概念)

什么是Method(方法)

  • 方法(method)具有独立功能代码块,不调用不执行。

为什么要有Method(方法)

  • 代码重复度太高,复用性太差。这时可以开辟公共代码区域进行重复使用代码,谁使用谁调用接口即可。

Method(方法)使用须知

  • Method(方法)必须先创建才可以调动过程为方法定义
  • Method(方法)创建后并不是直接可以直接运行,需要调用方法才可以运行

Method(方法)定义与调用

Method(方法)定义格式

public static void MethodName(){
    
    
                  //方法体
}

Method(方法) 调用

MethodName();

PS:

  • 方法必须先定义后调用,否则程序会报错
  • Method与Method之间属于平级关系不能进行嵌套定义

Code Case(代码案例)

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

    public static void methodone() {
    
    
        study();
        System.out.println("方法一");
    }

    public static void study() {
    
    
        System.out.println(("学习"));
    }
}

Method (方法)底层执行流程

method(方法) 调用过程

  • method没有被调用时候,是存储在方法区中的字节文件.class存储,Java System默认执行先进后出顺序,被动调用会进入栈内存中执行。

在这里插入图片描述

Method Case(方法案例)

 public static void main(String[] args) {
    
      
        method();
    }
    public static void method(){
    
    
        int date = 11;
        if (date % 2  == 0) {
    
    
            System.out.println(("偶数"));
        }else {
    
    
            System.out.println(("奇数"));
        }
    }

带参数Method定义和调用

Method定义
带参定义格式(格式) public static void methodname(parmeter){
    
    }
带参定义格式(单参) public static void methodname(typedate variablename){
    
    }
带参定义格式(多参) public static void methodname(typedate veriablename,typedate veriablename,){
    
    }

PS:

  • method定义时,参数datetype && variablename 不可缺少否则会报错。
  • method定义时,多个参数之间要用(,)
Method调用
带参定义格式(格式)methodname(参数);
带参定义格式(单参)methodname(1);
带参定义格式(多参)methodname(1,2);

PS:

  • method调用时参数数据 || method定义中相匹配

Method定义和调用 case

 public static void main(String[] args) {
    
    
        methodOne(11);
    }

    public static void methodOne(int date) {
    
    
        if (date % 2 == 0) {
    
    
            System.out.println(("偶数"));
        } else {
    
    
            System.out.println(("奇数"));
        }
    }

形参&实参

  • 形参:全称形式参数指方法定义中参数。
  • 实参:全称实际参数指方法调用中参数。

case 案例

public static void main(String[] args) {
    
    
        print(10, 20);
 }
public static void print(int n, int m) {
    
    
     System.out.println((n + "到" + m + "奇数" + "为" + ":"));
     for (int i = n; i <= m; i++) {
    
    
         if (i % 2 == 1) {
    
    
          System.out.println(("奇数" +  i));
            }
        }
    }

带返回值Method的定义&调用

为什么要有带返回值的method

  • 根据一个method产出结果,来组织另外代码逻辑逻辑为啦拿到这个method产生结果,就需要定义带有返回值method。

带返回值method define(方法定义)& and 调用

format: public static datetype methodname(参数){
    
    
         return date;
}

example:public static boolean name(int parameter){
    
    
         return true;
}

example two: public static int getdate(int parameterone,int parametertwo){
    
    
               return 100;
}

PS:method define 时 return后面返回值&define上的date type要匹配,否则会报错。

Method Call
formatone : MethodName(parameter);
exampleone : getdate(5)

formatonetwo : datatype VariableName = method(parameter);
exampletwo : boolean flag = getdate(5);
PS:method返回值通常会使用variable接受,否则返回值将毫无意义

case (案例)

 public static void main(String[] args) {
    
    
        int c = date(10, 1);
        System.out.println(c);
    }

    public static int date(int a, int b) {
    
    
        int max = a + b;
        return max;
    }
}

方法通用格式

public static 返回值类型 方法名称(参数){
    
    }
  • public static 修饰符
  • 返回值类型 方法操作后返回结果数据所对应datetype
  • 方法名 调用方法使用标识
  • 参数 datetype and variable name 组成多个参数用逗号隔开
  • 方法体 完成功能代码块
  • return 执行完成后返回数据

Method重载

Method方法重载概述

  • 在同一个类中可以定义多个同名Metoh但每个Method参数type不同&参数个数,Java虚拟机会通过参数不通来区分同名方法

方法重载练习

 public static void main(String[] args) {
    
    
        System.out.println(compare(10.22222 ,10.1414124));
    }
    public static boolean compare(boolean a,boolean b){
    
    
        return a==b;
    }
    public static boolean compare(int a,int b){
    
    
        return a==b;
    }
    public static boolean compare(short a,short b){
    
    
        return a==b;
    }
    public static boolean compare(long a,long b){
    
    
        return a==b;
    }
    public static boolean compare(double a,double b){
    
    
        return a==b;
    }

猜你喜欢

转载自blog.csdn.net/EverythingDone/article/details/136514035