Java中的方法

定义与使用

Java方法是语句的集合,他们在一起执行一个功能(很像C里的函数)

  • 方法是解决一类问题的步骤的有序集合

  • 方法包含于类或者对象中

  • 方法在程序中杯创建,在其他地方被引用

Java都是值传递,没有

最好一个方法只执行一个功能,便于拓展

方法的命名要求:首字母小写+驼峰规则

方法头+方法体

修饰符 返回值类型 方法名(参数类型 参数名){

​ ···

​ 方法体

···

return 返回值

}

return也可以终止方法

public class Demo01 {
    //main方法     //返回空值
    public static void main(String[] args) {
        //实际参数:实际调用传递给他的参数
        int sum=add(1,2);
        System.out.println(sum);

    }
    //加法 修饰符 返回值  static让其成为类变量,可以直接在main方法里被调用
    //形式参数,用来定义作用的
    public static int add(int a,int b){
        return a+b;//结束方法
    }
}

方法的重载

方法名必须相同

参数列表不能完全一致

方法的返回类型可以相同也可以不同,仅返回类型不同不足以成为方法的重载

Java根据方法参数类型、参数个数等去逐个匹配方法,选择对应的方法,如果匹配失败,则编译器报错

package method;

public class Demo01 {
    //main方法
    public static void main(String[] args) {

        double sum=add(1.0,2.0);
        System.out.println(sum);
    }

    public static double add(double a,double b){
        return a+b;
    }
    //加法 修饰符 返回值  static让其成为类变量,可以直接在main方法里被调用
    public static int add(int a,int b){
        return a+b;
    }
}

命令行传递参数

public class Demo02 {
    public static void main(String[] args) {
        //args.length数组长度
        for(int i=0;i<args.length;i++){
            System.out.println("args[" + i + "]:"+args[i]);
        }
    }
}

在目录前直接输入cmd可以直接打开当前目录下的命令框

在这里插入图片描述

需要找到包的路径去加载

命令行传参 “Hello World"

在这里插入图片描述

可变参数

给方法传不定项参数(不确定有多少个)

  • 在方法声明中,在指定参数类型后加一个省略号(…)

  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明

例子

package method;

public class Demo03 {
    public static void main(String[] args) {
        Demo03 demo03=new Demo03();
        demo03.method(1,2,3,4,5);
    }
    public void method(int x,int... i){
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
        System.out.println(i[3]);

    }
}

递归

A方法调用A方法

边界条件:递归头:什么时候不调用自身方法。没有头,将陷入死循环

递归体:什么时候需要调用自身方法

Java都是栈机制,递归的深度越大,占用内存越大,考验电脑性能,小计算可以用递归,大的用其他方法代替

阶乘运算

public class Demo04 {
    public static void main(String[] args) {
        Demo04 test=new Demo04();
        System.out.println(f(3));
    }
    //阶乘运算
    //1!=1
    //2!=2*1
    //3!=3*2*1
    //4!=4*3*2*1

    public static int f(int n){
        if(n==1){
            return 1;
        }else{
            return n*f(n-1);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值