flora222

Java方法

Java方法


emmm

把Java方法当做c语言的函数来理解。。?

差不多

那就水课吧!

注意

猜你想问:return到底怎么用啊!!教程里面报错是为什么啊!!!

你不问我也说:

在Java中,return语句的核心规则是:有返回值类型的方法,必须保证所有执行路径都有

return语句返回对应类型的值

方法的重载


在一个类中,可以出现多个名字相同,但是参数类型不同的方法,这就是方法的重载。

调用方法时,程序会根据你在main方法中调用方法所需参数类型来调用对应的方法

package com.flora.base.main;

public class Demo01 {
    static void main(String[] args) {
        int b=3;
        int c=4;
        int a=sum(b,c);
        double d=sum(b,c);
        System.out.println(a);//7
        System.out.println(d);//7.0
    }
    static int sum(int a,int b){
        return a+b;
    }
    static double sum(double a,double b){
        return a+b;
    }

}
//此时我们调用的方法名字都为sum
//但是整数类型的a变量返回的值是整数类型的7
//而浮点数类型的d变量返回的值是浮点数类型的7.0

算了,上图片!

image-20260112195512641

命令行传参


先上代码

package com.flora.base.main;

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

运行结果:

image-20260112201114155

先在对应目录下对目标文件进行编译

随后返回src目录,在命令行中调用包

这里的包名:com.flora.base.main

在程序中,我们需要对args[]数组传参

所以在命令行中,调用包后输入参数

回车,程序输出

可变参数


Java支持传递同类型的可变参数给同一个方法

用法:在方法声明中,在指定参数类型后加一个省略号...

注意

一个方法中只能指定一个可变参数,他必须是方法的最后一个参数,其他普通的参数必须在

他前面声明

package com.flora.base.main;

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

    }

}
//输出:
//1 
//2 
//3

相信在这里聪明的不聪明的应该都发现啦!

可变参数就是把输入的所有参数保存在一个数组里,数组名就是可变参数的变量名

递归


(有种复习c语言的感觉。。。)

就是自己调用自己呗。。

这里也不说了吧。
练习:(我已经丧失一半编程能力了。。)

package com.flora.base.main;
//简单计算器
import java.util.Scanner;

public class CalculateMachine {
    static void main(String[] args) {
        CalculateMachine cm=new CalculateMachine();
        Scanner scanner=new Scanner(System.in);
        boolean flag=true;
        while(flag) {
            System.out.println("请输入第一个数");
            double n1 = scanner.nextDouble();
            System.out.println("请输入第二个数");
            double n2 = scanner.nextDouble();
            System.out.println("1:加法,2:减法,3:乘法,4:除法");
            System.out.println("请选择方式:");
            int n3 = scanner.nextInt();
            switch (n3) {
                case 1:
                    cm.add(n1, n2);
                    break;
                case 2:
                    cm.jian(n1, n2);
                    break;
                case 3:
                    cm.cheng(n1, n2);
                    break;
                case 4:
                    cm.chu(n1, n2);
                    break;
                default:
                    System.out.println("无法识别");
                    break;
            }
            System.out.println("继续计算:y,退出:其他字符");
            char choice=scanner.next().charAt(0);
            if(choice=='y'){
                continue;
            }
            else{
                flag=false;
                System.out.println("已退出程序");
            }
        }
        scanner.close();
    }

    static void add(double a,double b){
        System.out.println(a+b);
    }
    static void jian(double a,double b){
        System.out.println(a-b);
    }
    static void cheng(double a,double b){
        System.out.println(a*b);
    }
    static void chu(double a,double b){
        if(b==0){
            System.out.println("error");
        }
        else{
            System.out.println(a/b);
        }
    }

}

posted on 2026-01-12 21:06  Flora2  阅读(5)  评论(0)    收藏  举报

导航