java学习笔记5(方法)

时间:2023-02-26 16:29:47

方法:

  1.如何创建方法

      修饰符   返回值类型  方法名(参数){被封装的代码段}

  2.方法的定义和使用的注意事项:

    a:方法不能定义在另一个方法里面;

    b:方法 名字和方法的参数列表,定义和调用时要保持一致,不能出错;

    c:方法的返回值类型为空(void)时,可以省略return不写;调用方法不能写在输出语句中;

    d:返回值类型不为空时,return后的数据类型要与定义方法的返回值类型一致,return后面不能再写代码;

求和方法如下:

public class MothedDemo{
    public static void main(String[] args){
        int sum=sum(3,4);//调用方法sum();
        System.out.println("和为"+sum);
    }
    public static int sum(int x,int y){//定义方法sum();
        return x+y;//返回值为x+y;
    }
}

  3.方法的重载

  重载:在同一个类中,方法名相同,参数列表不同。与返回值的类型无关。

      参数列表不同包括:1.参数的个数不同;

               2.参数的类型不同

  重载例子:

public class MothedDemo{
    public static void main(String[] args){
        int sum=sum(3,4);
        double sum1=sum(5,6,7);
        double sum2=sum(5,4);//发生了隐式转换,将5,4转换为double类型
        System.out.println("和为"+sum);
        System.out.println("和为"+sum1);
        System.out.println(sum2);
    }
    public static int sum(int x,int y){
        return x+y;
    }
    public static double sum(double x,double y, double z){
        return x+y+z;
    }
    public static double sum(double x,double y){
        return x+y;
    }
}

    方法重载注意:

        参数个数不一样,或者参数类型不一样。

        重载和返回值类型无关,和参数名无关。

        技巧:重载看方法名和参数列表

      方法的参数是基本类型时传递的是值,方法的参数是引用类型时传递的时内存地址;

    参数为引用类型的例子:

public class MothedDemo1{
    public static void main(String[] args){
        int[] arr={1,2,3};
        change(arr);
        int x=2;
        change(x);
        System.out.println(arr[1]); //输出结果66
        System.out.println(x); //输出结果2
    }
    public static void change(int[] a){
        a[1]=66;
    }
    /*本例中,change()方法返回值类型为空,但是change()方法的参数为引用型,因此传递的是arr数组的内存地址,
    再调用change()方法时,通过地址更改了arr[1]的值,在main方法中与在change()方法中,数组的内存地址时相同的,
    因此数组的值彻底改变了,main()方法输出的结果为66;为了对比,我们用一个参数为基本类型的方法来比较*/
    public static void change(int x){
        /*当方法的返回值类型为空,参数为基本类型时,在调用该方法时,传递的是值2,把2的值改为5,但是void并没有返回值,
        因此该方法并不能把重新赋值的5传递回main方法内,main方法在输出时仍输出x原来的值,输出2*/
        x=5;
    }
}

 

  4.自定义类的概述

    用自定义方法实现事物的过程,就是定义类的过程。

    自定义类的格式

    public class 类名{

    //属性定义:

    修饰符 数据类型 变量名=值;

    //方法定义:

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

    }

    }