狂神说:方法

  1. 何为方法

方法是语句和集合,一起执行一个功能

【实际上方法就是函数,说法不一样而已】

  1. 定义方法

加了static才能被main方法调用

修饰符(public static) 返回类型 方法名(参数类型 参数名)

    // main方法
    public static void main(String[] args) {
        int result = Add(2, 4);
        System.out.println(result);
    }

    // 加法
    public static int  Add(int a, int b){
        return a+b;
    }
  1. 命令行传参

    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++){
            System.out.println("args[ " + i + " ] = " + args[i]);
        }
    }

两种方法进行命令行操作

  1. 命令行框

  • IDEA中的Terminal

  • 到文件资源管理器中,cmd 空格

  1. 输入命令

  1. 在java所在文件中,javac Demo3.java, 生成class文件

  1. 到src目录下,执行 java com.baidu.www.method.Demo3 "this is Demo3" hello world

  1. 可变参数

一个方法只能指定一个可变长参数,并且该参数必须是方法的最后一个参数

    public static void main(String[] args) {
        Demo4 demo4 = new Demo4();
        demo4.test(1,2,3,4,5);
    }

    public void test (int...i){
        System.out.println(i[1]);
    }

使用可变参数,查找数组中最大值

    public static void main(String[] args) {
        printMax(1.2,3.2,3.4,3.2);
    }

    public static void printMax(double...numbers){
        if (numbers.length == 0){
            System.out.println("输入数组为空!");
            return;
        }

        double result = numbers[0];
        for(int i = 0; i < numbers.length; i++){
            if(numbers[i] > result)
                result = numbers[i];
        }
        System.out.println("Max number is: "+result);
        return;
    }
  1. 递归

基数比较小的时候可以,基数太大不行。能不用尽量不用,换其他算法来解决。

    public static void main(String[] args) {
        Demo5 demo5 = new Demo5();
        int result = demo5.f(5);
        System.out.println(result);
    }

    // 递归
    public static int f(int n){
        if (n == 1){
            return 1;
        }else{
            return f(n-1)*n;
        }
    }

homework

写一个简单的计算器

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //获取计算方式
        System.out.println("使用加减乘除哪种方法?");
        String c = scanner.next();
        System.out.println("第一个数:");
        int iFirst = scanner.nextInt();
        System.out.println("第二个数:");
        int iSecond = scanner.nextInt();

        // 通过switch进行计算
        switch (c){
            case "+":
                Add(iFirst, iSecond);
                break;
            case "-":
                Delete(iFirst, iSecond);
                break;
            case "*":
                Sub(iFirst, iSecond);
                break;
            case "/":
                Divide(iFirst, iSecond);
                break;
            default:
                System.out.println("对不起,没有这种计算方法");
        }

        scanner.close();
    }

    public static void Add(int i, int j){
        int result = i + j;
        System.out.println("result = " + result );
    }
    public static void Delete(int i, int j){
        int result = i - j;
        System.out.println("result = " + result );
    }
    public static void Sub(int i, int j){
        int result = i * j;
        System.out.println("result = " + result );
    }
    public static void Divide(int i, int j){
        int result = i / j;
        System.out.println("result = " + result );
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值