java方法

  在java中,方法就是用来完成解决某件事情或实现某个功能的办法。

  方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。

  我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。方法,一般都有一个返回值,用来作为事情的处理结果。

1.方法的语法格式:

修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; }

方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  • 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

接下来通过一个案例来演示方法的定义与使用,如下图所示。MethodDemo01.java

public class MethodDemo01 {

    public static void main(String[] args) {

        int area = getArea(3, 5); // 调用 getArea方法

        System.out.println(" The area is " + area);

    }

 

    // 下面定义了一个求矩形面积的方法,接收两个参数,其中x为高,y为宽

    public static int getArea(int x, int y) {

        int temp = x * y; // 使用变量temp记住运算结果

        return temp; // 将变量temp的值返回

    }

}

 

结果如下图

2.方法调用

Java 支持两种调用方法的方式,根据方法是否返回值来选择。

当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。

当方法返回一个值的时候,方法调用通常被当做一个值。例如:

int larger = max(30, 40);

如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。下面的调用是个语句:

System.out.println("欢迎访问!");
通过一个图例演示getArea()方法的整个调用过程
从上图中可以看出,在程序运行期间,参数x和y相当于在内存中定义的两个变量。当调用getArea()方法时,传入的参数3和5分别赋值给变量x和y,并将x*y的结果通过return语句返回,整个方法的调用过程结束,变量x和y被释放。
3.方法定义练习

分别定义如下方法:

         定义无返回值无参数方法,如打印3行,每行3个*号的矩形

         定义有返回值无参数方法,如键盘录入得到一个整数

         定义无返回值有参数方法,如打印指定M行,每行N个*号的矩形

         定义有返回值有参数方法,如求三个数的平均值

 

无返回值无参数方法,如打印3行,每行3个*号的矩形

    public static void printRect(){

        //打印3行星

        for (int i=0; i<3; i++) {

            //System.out.println("***"); 相当于是打印3颗星,换行

            //每行打印3颗星

            for (int j=0; j<3; j++) {

                System.out.print("*");  // ***

            }

            System.out.println();

        }

    }

 

有返回值无参数方法,如键盘录入得到一个整数

    public static int getNumber(){

        Scanner sc = new Scanner(System.in);

        int number = sc.nextInt();

        return number;

    }

 

无返回值有参数方法,如打印指定M行,每行N个*号的矩形

    public static void printRect2(int m, int n){

        //打印M行星

        for (int i=0; i<m; i++) {

            //每行中打印N颗星

            for (int j=0; j<n; j++) {

                System.out.print("*"); 

            }

            System.out.println();

        }

    }

 

有返回值有参数方法,如求三个数的平均值

    public static double getAvg(double a, double b, double c) {

        double result = (a+b+c)/3;

        return result;

    }

posted @ 2019-01-10 14:10  G大调  阅读(158)  评论(0编辑  收藏  举报