Java中的方法“实践”


1、定义一个方法并且调用,这样会很方便,大大减少不必要的浪费。但定义方法之前首先得明确该方法最后的结果想要执行什么?还要明确在该方法中是否需要一些参数(形参)

例如下面的代码片段:

// 进入租车系统
    public void YesOrNo() {
        System.out.println("*************欢迎使用达达租车系统************");
        System.out.print("\n");
        System.out.println("您是否要租车?1、是  2、否");
        Scanner input = new Scanner(System.in);
        if (input.nextInt() == 1) {
            System.out.println("***********您可租车的类型及其价目表***********");
        }
    }

以上的YesOrNo()方法想要执行的只是一个进入系统的提示,不需要任何参数,也不需要返回任何值,在main函数中直接调用它就可以了

再例如下面的代码片段:

// 获取汽车信息
    public void getCarsList(Car[] cars) {
        System.out.printf("序号\t汽车名称\t\t租金\t\t容量");
        for (int i = 1; i <= cars.length; i++) {
            System.out.println("\r" + i + ".\t" + cars[i - 1].getBrand() + "\t" + cars[i - 1].getPrice() + "元/天 \t"
                    + cars[i - 1].getCapacity());
        }
    }

以上的getCarsList()方法执行打印车辆信息,它需要传入原始车辆信息数据(Car[] cars),这就得定义一个有参数的方法。但它不需要返回任何值,在main函数中直接调用它就可以了:

2、但实际上,方法不仅要定义“执行动作”,还得给main函数返回自己“加工”数据。例如下面的片段:

    // 计算金额
    public int getMoneys(Car[] cars, int money, int carNum) {
        money = cars[carNum - 1].getPrice();
        return money;// 返回money的值
    }

以上的getMoneys()方法执行计算金额,它不仅需要传入原始数据(车辆信息),还需要返回金额(return money),以便在main函数中打印账单。

3、方法中传值的内容是是最基础的也是最重要的,今天就搞混了,最后“多方打听”,终于搞定。

Java中的方法“实践”

以上的截图来自《Java程序设计语言 第4版》p45,PDF下载见

传送一个:,里面说的很详细。

另附刚做的test:

public class ArgsTransfer {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArgsTransfer t = new ArgsTransfer();
        int a = 5;
        int b = 10;

        // 1、给实参a,b传值 ,分别传给形参i和j
        // 2、对象t调用swap方法
        // 3、在方法swap中i,j的值互换,并返回i的值(return i;)给main函数中的a
        System.out.println("a=" + a + "b=" + b + "a=" + t.swap(a, b));
    }

    public int swap(int i, int j) {// 方法只能执行动作,不能传值(向上)
        int temp = i;
        i = j;
        j = temp;
        System.out.println("swap方法执行了");
        System.out.println("此处i=" + i + ",j=" + j + ",i与j交换了");
        System.out.println("并且与main方法中的a,b无关");

        return i;
    }
}

运行结果:

本文永久更新链接地址

相关内容

    暂无相关文章