【Java】方法部分及其作业

方法

在程序中被创建,在其他地方引用。

最好一个方法只做一个简单的功能,称为原子性。

方法重载

函数名字相同但是形参不同称为重载。

通过命令行传参

需要找到正确的包的位置

在src处传参

cd…/返回上一级

递归

A方法调用A方法,自己调用自己就叫递归

递归包含两部分:

递归头:什么时候不调用自身方法。没有头就会陷入死循环

递归体

步骤

边界条件:到边界后可以返回

前阶段:什么情况下反复调用

返回阶段:n(n-1)

java使用栈机制,嵌套层不能太多,会造成内存拥塞,影响机器性能

代码:递归

package com.yolanda.methods;


//2!=2*1
//3!=3*2*1
//阶乘
public class Demo05 {
    public static void main(String[] args) {
        System.out.println(f(16));
    }
    public static int f(int n){

        if (n == 1) {
            //递归头,这里程序执行到底了
            return 1;
        }else {
            return n * f(n - 1);
        }
    }
}

作业:

package com.yolanda.methods;

import java.util.Scanner;

/*
 * 作业:
 * 写一个计算器,要求实现加减乘除功能,并且能够循环接受新的数据,通过用户交互实现。
 * 4个方法加减乘除
 * 利用循环+Switch进行用户交互
 * 传递需要操作的两个数
 * 输出结果
 */

public class Demo06 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入需要计算的类型:1.加法 2.减法 3.乘法 4.除法");
        int judge=input.nextInt();

        System.out.println("请输入两个数字用来计算:");
        int num1=input.nextInt();
        int num2=input.nextInt();


        switch(judge){
            case 1:
                System.out.println(addNum(num1,num2));
                break;
            case 2:
                System.out.println(minusNum(num1,num2));
                break;
            case 3:
                System.out.println(multiplyNum(num1,num2));
                break;
            case 4:
                System.out.println(divideNum(num1,num2));
                break;
            default:
                System.out.println("输入类型错误!");
        }

    }

    public static int addNum(int n1,int n2) {
        return n1+n2;
    }

    public static int minusNum(int n1,int n2) {
        int temp;
        if (n1>=n2){
            temp=n1;
            n1=n2;
        }else{
            temp=n2;
        }
        return temp-n1;
    }

    public static int multiplyNum(int n1,int n2) {
        return n1*n2;
    }
    public static int divideNum(int n1,int n2) {
        return n1/n2;
    }
}```



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值