首页 > 编程语言 > 详细

Java方法

时间:2020-11-30 21:46:47      阅读:24      评论:0      收藏:0      [点我收藏+]
# 方法的定义

技术分享图片

# 方法的调用

技术分享图片

## 方法的调用与形式参数

```javascript
public static void main(String[] args) {
    //形式参数--比大小
    //调用方法
    int result = FunctionDemo01.max(10,10);
    System.out.println(result);
}
//创建一个方法
//修饰符     方法类型  方法名称(形式参数)
public static  int max(int a,int b){
    if(a==b){
        System.out.println("a=b");
        return 0;
    }else if(a>b){
        return a;
    }else{
        return b;
    }
}
```

## 方法的重载---参数类型不同,名字可以相同

规则:

方法名称必须相同

参数列表必须不同(个数不同,类型不同,参数排列顺序不同)

方法的返回值类型可以相同可以不同

仅仅方法的返回值类型不同,不足以构成方法的重载

实现理论:

**方法名称相同时,编译器会根据调用方法的参数个数,参数类型等进行逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。**

# 命令行传参

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

必须使用cd../回退到src文件下,再访问全包名路径,才可以执行.class文件
技术分享图片
# 可变参数

```javascript
public class VariableDemo {
    public static void main(String[] args) {
        //可变参数,可变参数可以理解为一个数组
        findMax(12,36,25,14,99,84,77);
        //findmax(new double[]{12,23});
    }


    //先定义一个方法,找出最大值
    public static void findMax(double... i){
        if(i.length==0){
            System.out.println("没有数字");
            //return 0;
        }


        double max = 0;
        for(int x=0;x<i.length;x++){
            if(i[x]>max){
                max=i[x];
            }
        }
       // return max;
        System.out.println("最大值是:"+max);
    }

```

# 递归---自己调用自己

**缺点:嵌套的比较深的时候可能会造成内存崩溃(由于Java的栈机制决定了这样的性质)**

**小计算使用递归,大量计算(不使用)**

递归结构包含两个部分:

递归头:什么时候不调用自身方法,如果没有头,将陷入死循环

递归体:什么时候需要调用自身方法
技术分享图片
``javascript
public class RecursionDemo {
    public static void main(String[] args) {
        //使用递归实现阶乘
        int s = recursion(5);
        System.out.println("使用递归的方法求阶乘:"+s);
    }
    //定义一个方法
    public static int recursion(int i){
        if(i==1){
            return 1;
        }else{
            return i*recursion(i-1);
        }


    }
}
```

# 作业---写一个计算器(实现加减乘除)

```javascript
public class HomeWork {
    public static void main(String[] args) {
        //做一个计算器时间加减乘除
        calculate(10,‘-‘,20);


    }
    //定义一个加的方法
    public static double add(double a,double b){
        double sum = 0;
        sum=a+b;
        return sum;
    }
    //定义一个减的方法
    public static double subtract(double a,double b){
        double sum = 0;
        sum=a-b;
        return sum;
    }
    //定义一个乘的方法
    public static double rid(double a,double b){
        double sum = 0;
        sum=a*b;
        return sum;
    }
    //定义一个除的方法
    public static double divide(double a,double b){
        double sum = 0;
        sum=a/b;
        return sum;
    }
    //定义计算机
    public static double calculate(double a, char f, double b){
        switch(f){
            case ‘+‘:


                double resulta = add(a,b);
                System.out.println("a+b="+resulta);
                //return resulta;
                break;
            case ‘-‘:


                double results = subtract(a,b);
                System.out.println("a+b="+results);
               // return results;
                break;
            case ‘*‘:


                double resultr = rid(a,b);
                System.out.println("a+b="+resultr);
               // return resultr;
                break;
            case ‘/‘:


                double resultd = divide(a,b);
                System.out.println("a+b="+resultd);
               // return resultd;
                break;
            default:
                System.out.println("计算错误!");
                //return 0;
        }
        return 0;
   
```

来源:【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

Java方法

原文:https://www.cnblogs.com/Gpengbolg/p/14063725.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!