code学习

java的方法java的方法

java的方法

文章目录

  • java的方法
        • 1、何谓方法
        • 2、方法的定义以及调用
        • 3、方法的重载
        • 4、命令行传参
        • 5、可变参数
        • 6、递归

1、何谓方法

方法是语句的集合,他们一起执行一项功能。类似C中的函数。

  • 方法是解决一类问题的步骤
  • 方法包含与类或对象中
  • 方法在程序中被创建,在其他地方被引用
  • 一个方法完成一个功能

2、方法的定义以及调用

package 方法;

public class demo1 {
    public static void main(String[] args) {
        int sum =add(1,2);
        System.out.println(sum);
    }
    //加法(方法)
    public static int add(int a,int b){
        return a+b;
    }

}

           
java的方法java的方法

方法调用:

方法返回一个值的时候,方法调用直接当做一个值。

例如:

int larger=max(300,400);
           

如果方法的返回值是void,方法调用是一条语句。

例如:

System.out.println("hello,world");
           

java是值传递。

3、方法的重载

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

  • 方法重载的规则
    • 方法名称必须相同
    • 参数列表必须不同(个数不同,类型不同,参数排顺序不同)
    • 方法的返回类型可以相同也可以不相同
    • 仅仅返回类型不同的不足成为方法的重载
package 方法;

public class demo02 {
    public static void main(String[] args) {
        double max=max(10.0,10.0 );
        System.out.println(max);
    }
    public static int max(int a,int b){
        int result=0;
        if(a==b){
            System.out.println("a==b");
            return 0;
        }
        if(a>b){
            result=a;
        }
        else
        {
            result=b;
        }
        return result;
    }
    public static double max(double a,double b){
        double result=0;
        if(a==b){
            System.out.println("a==b");
            return 0;
        }
        if(a>b){
            result=a;
        }
        else
        {
            result=b;
        }
        return result;
    }
}

           

4、命令行传参

有时候你希望运行一个程序时候再给他消息。这就要靠命令传参数给main()函数实现

5、可变参数

jdk1.5开始,java支持传递同类型的可变参数的一个方法。

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

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

package 方法;

public class demo03{
    public static void main(String[] args) {
        demo03 demo03=new demo03();
        demo03.test(1);
    }
    public void test(int ... i){
        System.out.println(i[0] );
    }//与数组有关
}
           

6、递归

package 方法;

public class demo04 {
    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);
        }
    }
}

           

容易栈溢出