JAVA之路第四天

方法

//方法:类比于C语言中的函数,完成特定的功能,可能有返回值,也可能没有返回值,当没有返回值时,方法类型为void
/*
修饰符 返回值类型 方法名(参数类型 参数名){
   ...
   方法体
   ...
   return 返回值;//可能没有
}
 */
    public class Demo01 {
    //写一个加法的方法
    public static  double add(double a,double b){
        return a+b;//return可以用来终止方法,如果定义方法返回值类型,必须在方法中return一个值
    }
    public static void main(String[] args) {
        double x=add(2.55,9.888);
        System.out.println(x);
    }
}

方法的重载

/*
方法的重载
1.方法名称必须相同
2.参数列表必须不同(数量不同,类型不同或参数类型顺序不同)
3.参数返回类型可以相同或者不同
4.返回类型不同不足以成为方法的重载
 */
public class Demo02 {
    public static  double add(double a,double b){
        return a+b;
    }
    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;
    }
//方法会根据实参的不同而调用相应的方法
}

命令行传参

//命令行传参
public class Demo03 {
    public static void main(String[] args) {
        for (int i=0;i<args.length;i++){
            System.out.println("args["+i+"]:"+args[i]);
        }
    }
} 

在这里插入图片描述

可变参数

import java.util.Scanner;

/*
可变参数
1.在方法申明中,在指定参数类型后加一个省略号(...)
2.一个方法只能指定一个可变参数,且必须是方法的最后一个参数,任何普通的参数必须在它之前申明
 */
public class Demo04 {
    public static void main(String[] args) {
        //由键盘输入浮点数组,比较大小
        System.out.println("请输入需要比较的数组,用','隔开数字");
        Scanner scanner=new Scanner(System.in);
        String str=scanner.next().toString();//将输入的数据转换为字符串
        String[] test=str.split(",");//用‘,’来分割字符串
        double[] b=new double[test.length];
        for (int i=0;i<b.length;i++){
            b[i] = Double.parseDouble(test[i]);//将字符串类型转换为double类
            //b[i]=(double)test[i];此种不能进行,因为类型转换只能支持同类型数据转换
            System.out.println(b[i]);
        }
        Max(b);//调用方法
        scanner.close();

    }
    public  static  void Max(double... number){
        if (number.length==0){
            System.out.println("错误");
        }
        //排序
        double result=0;
        for (int i=0;i<number.length;i++){
             if (number[i]>result){
                 result=number[i];
             }
        }
        System.out.println("最大的数为:"+result);
    }
}

递归

import java.util.Scanner;

//递归:调用自己的方法就是递归方法
//递归应该有一个边界,即让递归终止的方法
public class Demo05 {
    public static void main(String[] args) {
        System.out.println("请输入想要求的阶乘数");
        Scanner scanner=new Scanner(System.in);
        System.out.println(Factorial(scanner.nextInt()));
        scanner.close();

    }
    //写一个求阶乘的方法
    public static long Factorial(int n){
        if (n==1){
            return 1;
        }
        else{
            return n*Factorial(n-1);
        }
    }
}
发布了14 篇原创文章 · 获赞 0 · 访问量 210

猜你喜欢

转载自blog.csdn.net/YSJS99/article/details/104955106