Java方法

Java方法

什么是方法

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

//加法
//形式参数 用来定义作用的 a,b
public static int add(int a,int b){
    return a+b;
}

//100以内的素数
public static void test(){
    for(int a=2;a<100;a++){
        int isPrime=1;
        for(int b=2;b<a;b++){
            if(a%b==0){
                isPrime=0;
                break;
            }
        }
        if (isPrime==1){
            System.out.println(a);
        }
    }
}

方法的定义和调用

注意返回类型void:一句话. int:字符
public static void main(String[] args) {
    int max = max(10, 10);
    System.out.println(max);
}
public static int max(int num1,int num2){
    int result = 0;
    if(num1==num2){
        System.out.println("num1==num2");
        return 0;//终止方法
    }
    if(num1>num2){
        result = num1;
    }else{
        result = num2;
    }
    return result;
}

方法的重载

//方法名称必须相同(max),参数列表必须不同(int/double/比较的个数)。
public class C方法的重载 {
    public static void main(String[] args) {
        int add = add(10, 10,20);
        System.out.println(add);
    }
    public static int add(int a,int b){
        return a+b;
    }
    public static int add(int a,int b,int c){
        return a+b+c;
    }
}

命令行传递参数

通过文件目录进入cmd在src下进行命令下的参数输入
// cd ../ 返回上一级
public class D命令行传递参数 {
    public static void main(String[] args) {
        //args.length 数组长度
        for (int i = 0; i < args.length; i++) {
            System.out.println("args["+i+"]:"+args[i]);
        }
    }
}

可变参数

//重点 double后面的。。。 只能在最后 如(int number,double... number)  double...在int后
public class E可变参数 {
    public static void main(String[] args) {
        //调用可用参数
        printMax(63,2,30,12,20.2);
        printMax(new double[]{1,2,3});
    }
    public static void printMax(double... numbers){
        if(numbers.length==0){
            System.out.println("No numbers");
            return;
        }
        double result = numbers[0];
        //排序
        for (int i = 1; i < numbers.length ; i++) {
            if(numbers[i]>result){
                result = numbers[i];
            }
        }
        System.out.println("The Max value is:"+result);
    }

递归

自己调用自己

包含两部分:

递归头:什么时候不用调用自身方法。如果没头,将死循环
递归体:什么时候要调用自身方法。
//阶乘
public static void main(String[] args) {
    System.out.println(f(5));
}
public static int f(int n){
    if(n==1){
        return 1;	//递归头
    }else{
        return n*f(n-1);	//递归体
    }
}

栈:java底层->递归尽量不使用,内存易溢出

递归思想了解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值