Java方法

Java方法

何为方法

Syetem.out.println():System是类,out是对象,println是方法

即其他语言的函数

public static void main() :amain为方法

加法方法:

package Method;

public class Demo1 {
    public static void main(String[] args) {
        System.out.println(add(3,2));

    }
    public static int add(int i,int j){//这里应该加static,不加的话会失败。
        return i+j;
    }
}

输出5

方法包含在类中

方法是用来调用的(即函数)

原子性:一个方法只实现一个功能

main方法尽量干净,其他功能尽量放到其他方法中,main来调用

定义方法

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

​ 方法体,即执行语句

}

参数类型、参数名可以空不填

修饰符也是可选的

实参:实际调用方法使用时,传递进去的参数

形参:定义方法时,写在参数位置的参数

package Method;

public class Demo1 {
    public static void main(String[] args) {
        System.out.println(add(3,2));

    }
    public static int add(int i,int j){
        return i+j;
    }
}

形参为i,j

实参为2,3

如果方法存在返回值(即不是void),则需要最后写return,返回值。

return也是结束方法的出口,只要执行到方法中某处的return,则方法调用结束。

public修饰符

static修饰符(类变量)

package Method;

public class Demo1 {
    public static void main(String[] args) {
        System.out.println(max(4,8));
    }
    public static int max(int q,int w){
        int m;
        if(q>w){
            m = q;
        }else{
            m = w;
        }
        return m;
    }
}//输出8

方法的重载

重载:在一个类中,有相同的函数名称,但是参数不同

package Method;

public class Demo1 {
    public static void main(String[] args) {
        System.out.println(max(4,8));
        System.out.println(max(3.0,7.0));
    }//方法名相同,传递参数的类型不同

    public static int max(int q,int w){
        int m;
        if(q>w){
            m = q;
        }else{
            m = w;
        }
        return m;
    }
    public static double max(double q,double w){
        double m;
        if(q>w){
            m = q;
        }else{
            m = w;
        }
        return m;
    }//max方法重载
}

方法名称可以相同

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

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

Java都是值传递,没有引用传递

可变参数

不定向参数:… 即可以传递任意多个,不限长度

指定参数类型后,在指定参数类型后用省略号。一个方法中只能一个可变参数,且任何普通参数都必须在其之前声明

package Method;

public class Demo2 {
    public static void main(String[] args) {
        Demo2 demo2 = new Demo2();//创建实例对象
        demo2.method(1,2,3,4,5);//调用实例对象.method方法
        //传递了5个:无所谓传递几个,没要求
    }
    
    //定义method方法时没加static,则在main引用时需要创建新的实例对象,通过实例对象.method方可调用
    public void method(int ... i){//不定项参数
        System.out.println(i[0]);
        System.out.println(i[2]);//取出传递的第3个参数
    }
}
public class Demo2 {
    public static void main(String[] args) {
        method(3,4,5,6);
    }
    //此时定义方法时,通过static定义,因此可以直接调用,不需要创建实例对象来调用
    public static void method(int ... i){
        System.out.println(i[0]);
        System.out.println(i[2]);
    }
}
public static void method(int ... i,int j){
    System.out.println(i[0]);
    System.out.println(i[2]);
}//此时定义会报错,因为含...的参数应该放在最后,而此时j放在了最后
package Method;

public class Demo5 {
    public static void main(String[] args) {
        printMax(2,4,5,6,7,8,22.5,11.5,3);//输出22.5
        printMax(new double[]{4,5.5,6.5,8.9,11,3});//输出11.5
    }
    public static void printMax(double ... x){
        if(x.length==0){
            System.out.println("no");
            return;//若输入长度为0,则直接跳出此方法,结束方法
        }
        double result = x[0];
        for (int i = 0; i <x.length ; i++) {
            if(x[i]>result){
                result = x[i];
            }
        }
        System.out.println(result);
        return;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值