Java程序中的方法

方法的好处

用方法来编写程序代码有相当多的好处,它可简化程序代码、精简重复的程序流程,并把具有特定功能的程序代码独立出来,使程序的维护成本降低。

方法的声明

返回值类型 方法名称(类型 参数 1,类型 参数 2, …)
{
程序语句 ;
return 表达式;
}
大括号内为方法的主体部分
要特别注意的是,如果不需要传递参数到方法中,只要将括号写出,不必填入任何内容。此外,如果方法没有返回值,则 return 语句可以省略。

方法操作的简单范例

public class TestJava4_8 {
    public static void main(String args[]) {
        star(); // 调用 star() 方法
        System.out.println("I Like Java !");
        star(); // 调用 star() 方法
    }

    public static void star() // star() 方法
    {
        for (int i = 0; i < 19; i++)

            System.out.print("/"); // 输出 19 个星号
        System.out.print("\n"); // 换行
    }
}

输出结果:
///
I Like Java !
///
TestJava4_8 中声明了两个方法,分别为 main()方法与 star()方法。因为 main()方法是程序进入的起点,所以把调用 star()的程序代码编写在 main()里。
方法的调用很简单,只需要写出方法名()即可,如果需要参数,传入对应类型的参数就行

方法的参数与返回值

如果方法有返回值,则在声明方法之前就必须指定返回值的数据类型。相同的,如果有参数要传递到方法内,则在方法的括号内必须填上该参数及其类型。

public class TestJava4_9 {
    public static void main(String args[]) {
        int num;
        num = star(7); // 输入 7 给 star(),并以 num 接收返回的数值 
        System.out.println(num + " stars printed");
    }

    public static int star(int n) // star() method
    {
        for (int i = 1; i <= 2 * n; i++)
            System.out.print("/"); // 输出 2*n 个星号
        System.out.print("\n"); // 换行
        return 2 * n; // 返回整数 2*n
    }

}

输出结果:

14 stars printed
因 star()返回整数值,所以要在声明 star() 方法之前加上 int 关键字,此外,因要传入一个整数给 star(),所以 star()的括号内也要注明参数的名称与数据类型。并且这些数据类型包括基本数据类型和引用数据类型,比如数组

传递二维数组与返回二维数组

// 以下的程序说明了方法中返回一个二维数组的实现过程
public class TestJava4_14 {
    public static void main(String args[]) {
        int A[][] = { { 51, 38, 82, 12, 34 }, { 72, 64, 19, 31 } }; // 定义二维数组
        int B[][] = new int[2][5];
        B = add10(A); // 调用 add10(),并把返回的值设给数组 B
        for (int i = 0; i < B.length; i++) // 输出数组的内容
        {
            for (int j = 0; j < B[i].length; j++)
                System.out.print(B[i][j] + " ");
            System.out.print("\n");
        }
    }

    public static int[][] add10(int arr[][]) {
        for (int i = 0; i < arr.length; i++)
            for (int j = 0; j < arr[i].length; j++)
                arr[i][j] += 10; // 将数组元素加 10
        return arr; // 返回二维数组
    }
}

输出结果:
61 48 92 22 44
82 74 29 41
方法中将传进去的数组的每个元素加10然后返回

方法的重载

我们知道了方法可以传递和返回不同类型的数。那么方法名可不可以相同呢,比如,我想要一个方法求两个数之和,叫add(),然后有需要一个求三个数之后的方法能不能也叫add()呢?

// 以下程序说明了方法的重载操作
public class TestJava4_11 {
    public static void main(String[] args) {
        int int_sum;
        double double_sum;
        int_sum = add(3, 5); // 调用有两个参数的 add 方法
        System.out.println("int_sum = add(3,5)的值是: " + int_sum);
        int_sum = add(3, 5, 6); // 调用有三个参数的 add 方法
        System.out.println("int_sum = add(3,5,6)的值是: " + int_sum);
        double_sum = add(3.2, 6.5); // 传入的数值为 doule 类型
        System.out.println("double_sum = add(3.2,6.5)的值是: " + double_sum);
    }

    public static int add(int x, int y) {
        return x + y;
    }

    public static int add(int x, int y, int z) {
        return x + y + z;
    }

    public static double add(double x, double y)

    {
        return x + y;
    }
}

输出结果:
int_sum = add(3,5)的值是: 8
int_sum = add(3,5,6)的值是: 14
double_sum = add(3.2,6.5)的值是: 9.7
方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要它们的参数个数或类型不同即可。在这种情况下,该方法就叫被重载了,这个过程称为方法的重载。这里对返回值没有要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值