0
点赞
收藏
分享

微信扫一扫

从零开始学java——方法和重载

律楷粑粑 2022-04-07 阅读 87

目录

一、方法的定义(方法就是一个代码片段. 类似于 C 语言中的 "函数".)

二、方法的定义语法

 三、关于实参和形参

 四、方法的重载(overload)


一、方法的定义(方法就是一个代码片段. 类似于 C 语言中的 "函数".)

1、 是能够模块化的组织代码(当代码规模比较复杂的时候)。

2、 做到代码被重复使用, 一份代码可以在多个位置使用。

3、 让代码更好理解更简单。

4、 直接调用现有方法开发, 不必重复造轮子。

二、方法的定义语法

(该方法是否有返回值取决于这个方法的作用和功能)

例:①求某几个数的和,则需要返回和;

②接受任意值并输出,则不需要返回。

//方法的定义
public static 方法的返回值 方法名称(方法的参数(形参)){
          //代码
          [return 语句];
}
//方法的调用
   返回值变量=方法名称(参数(实参));

1、有返回值的方法

public static  int add(int a,int b){
        int ret =a+b;
        return ret;
    }
    public static void main(String[] args) {
        int x=10;
        int y=20;
        int sum =add(x,y);//主方法运行到此处会停止,直到add方法调用结束(或者遇到return语句)
        System.out.println(sum);
    }

2、没有返回值的方法使用void,并且使用"retuen;"结束方法的调用

 public  static  void printNum(int num){
        for (int i = 1 ;i <=num; i++) {
            if(i%3==0){
                System.out.print(i);
                return;
            }
        }
    }
    public static void main(String[] args) {
        printNum(100);//结束方法的调用
    }

 三、关于实参形参

(在java中,方法的参数只有值传递,所谓的传递就是把实参的值拷贝一份给形参,对实参并没有产生任何的影响)

例:

  public static void main(String[] args) {
        int x=10;
        int y=20;
        swap(x,y);//调用swap时,就有实参到形参的传递,即将实参的值拷贝一份赋值给形参(将x的值10和y的值20拿出来拷贝一份给a和b)
                                             //即为:swap-x=main-x=10;swap-y=main-y=20;     
        System.out.println("x="+x+",y="+y);
    }
    public static void swap(int a,int b){
        System.out.println("调用swap方法中......");
        int temp=a;                   //交换的是swap-x和swap-y的值,对于main-x和main-y没有任何影响
        a=b;
        b=temp;
        System.out.println("a="+a+",b="+b);
    }

 

 

对于上述问题的解决方法(在java中不存在方法外部交换两个局部变量的方法)

方法:引用数据类型(数组和对象)

 public static void main(String[] args) {
        int []arr={10,20};
        swapArr(arr);
        System.out.println("arr[0]="+arr[0]+",arr[1]="+arr[1]);
    }
    public static void swapArr(int[]arr){
        int temp=arr[0];
        arr[0]=arr[1];
        arr[1]=temp;
    }

 

 四、方法的重载(overload)

方法的重载发生在同一个类中,定义了若干方法名称相同,参数列表不同(参数的类型或者个数不同)的一组方法,与返回值无关。

①public static int add(int a,int b){
         int ret =a+b;          //①②类型不同
         return ret;
}
②public static double add(double a,double b){
         return a+b;
}
③public static int add(int a,int b,int c){
        return a+b+c;         // ①③个数不同
}

 

举报

相关推荐

0 条评论