小W的Java学习之路:java基础(五)-方法

1.方法的定义

方法就是对一段代码的一个封装,方法可以封装一个功能,可以把一段代码变成一个整体

方法的定义:
	修饰符  返回值类型  方法名(参数类型 参数名){
        方法的代码
	}

2.方法的调用

如果是无返回值的方法:
	1. 直接调用:
			方法名(参数);
			
如果有返回值的方法:
	1. 赋值调用:
			数据类型 变量名 = 方法名(参数);
	2. 输出调用:
			System.out.println(方法名(参数));
	3. 直接调用:(目前这么写没有意义)
			方法名(参数);


public class Demo03 {

    public static void main(String[] args) {
        //调用方法
        getSum();
    }

    //定义方法,功能是求三个整数的和
    public static void getSum(){
        int a = 10;
        int b = 20;
        int c = 30;
        int sum = a + b + c;
        System.out.println(sum);
    }

}

3.方法的参数

方法的参数就是从方法外部传入方法内部的数据,也就是方法的未知数

注意事项:
	1.方法的参数可以是任意数据类型,可以是任意个数
	2.方法定义时的参数叫形参,方法调用时的参数叫实参
	3.形参要什么类型实参就要给什么类型,形参要几个实参就要给几个
	4.实参和形参的变量名不需要一样,变量名是可以随便命名的

public class Demo05 {
    public static void main(String[] args) {

        //调用方法
        getSum(10,20,30);//实参
        //调用方法
        getSum(11,33,66);
    }


    //定义方法,功能是求三个整数的和
    public static void getSum(int a,int b,int c){ //形参

        int sum = a + b + c;
        System.out.println(sum);
    }
}

4.方法的返回值

返回值是方法得到的结果,返回值是从方法内部传到方法外部的数据

注意事项:
	1.如果方法有返回值,那么就必须使用return返回一个结果
	2.方法的返回值可以是任意类型,个数只能有一个
	3.return代表结束方法,只要执行return方法就结束了
	4.如果方法没有返回值,也可以出现return但是后面不能写值,这个return专门结束方法
	5.方法的参数和返回值都是根据方法功能去定义的,两者之间没有必然联系.
	

5.方法的好处

方法能减少代码量,一次定义,多次调用

方法能不能提高代码执行效率?
	不能

6.回顾数据类型

数据类型
	基本数据类型                          引用数据类型
	   byte                                  类    String
	   short                                 数组  int[]   double[]   String[]
	   int                                   接口
	   long                                  枚举
	   float
	   double
	   char
	   boolean
	   
	   保存值 int a = 10;                     保存地址值 int[] arr = new int[4];

在这里插入图片描述

7.练习引用类型作为方法参数

7.1 定义方法遍历数组


public class Demo11 {
    public static void main(String[] args) {
        //调用方法
        int[] arr = {11,22,33,55};
        bianLi(arr);


        int[] brr = {10,20,30,405,50};
        bianLi(brr);

    }

    //定义方法,功能是遍历数组
    public static void bianLi(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}
7.2方法求数组最大值


public class Demo12 {
    public static void main(String[] args) {
        int[] arr = {12,23,43,5,435};
        
        int max = getMax(arr);
        
        System.out.println(max);

    }

    //定义方法 方法求数组最大值
    //参数是什么? 返回值是什么?
    public static int getMax(int[] arr){
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i]>max){
                max = arr[i];
            }
        }
        return max;
    }

}

8.方法的重载

方法的重载是一个类中的多个方法,他们的方法名相同,参数列表不同(个数不同或类型不同),和返回值类型无关重载的好处是什么:	让方法名见名知意,方便调用


public class Demo01 {
    public static void main(String[] args) {
        getSum(10,20);
        getSum(10,20,30);
        getSum(2.2,2.32);
    }

    //定义三个方法
    //求两个整数的和
    public static int getSum(int a,int b){
        int c = a + b;
        return c;
    }
    
    //求三个整数的和
    public static int getSum(int a,int b,int c){
        int d = a + c + b;
        return d;
    }
    //求两个小数的和
    public static double getSum(double a, double b){
        double c = a + b;
        return c;
    }
}
判断下面哪个方法和题干是重载:

​ public static int getSum(int a, double b){} ( A B C)

A.public static void getSum(double b, int a){}

B.public static int getSum(double a, int b){}

C.public static int getSum(){}

D.public static void getSum(int b , double a){}

9.基本类型和引用类型使用的区别

基本类型变量保存的是值

引用类型变量保存的是地址值


import java.util.Arrays;

public class Demo03 {
    public static void main(String[] args) {
        //基本类型变量保存的是值
        int a = 10;
        //把a的值赋值给b
        int b = a;
        //修改b的值
        b = 200;
        //问
        System.out.println(a);   //10
        System.out.println(b);   //200



        //引用类型变量保存的是地址值
        int[] arr = new int[3];
        //把arr的地址值赋值给brr
        int[] brr = arr;
        //修改brr
        brr[0] = 200;
        brr[1] = 200;
        //问
        System.out.println(Arrays.toString(arr)); //200,200,0
        System.out.println(Arrays.toString(brr)); //200,200,0


    }
}

请添加图片描述

基本类型:



public class Demo04 {
    public static void main(String[] args) {
        int a = 10;
        //调用方法
        method(a);
        //问
        System.out.println(a);         //10

    }


    //定义方法
    public static void method(int k){
        k = 200;
    }
}

引用类型:



import java.util.Arrays;

public class Demo05 {
    public static void main(String[] args) {

        int[] arr = new int[4];

        System.out.println(Arrays.toString(arr)); // 0 0 0 0

        method(arr);

        System.out.println(Arrays.toString(arr)); //100 200 0 0
    }


    //定义方法
    public static void method(int[] arr){
        arr[0] = 100;
        arr[1] = 200;
    }
}

10.方法的练习



public class Demo06 {
    public static void main(String[] args) {
        int[] arr = {11,33,55,88,22,99};
        int num = 70;

        //调用方法
        int i = getIndex(arr,num);
        System.out.println(i);
    }

    //定义一个方法,寻找一个数字在一个数组中的索引,如果找不到返回-1
    //返回值是什么?参数是什么?
    public static int getIndex(int[] arr,int num){
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //判断
            if(arr[i]==num){
                return i;
            }
        }
        //循环结束了方法还没结束说明没有找到
        return -1;
    }
}

11.方法的递归调用

1-100的相加,方法里面调用方法

public static double sum(int num) {
    if (num==1)
        return 1 ;
    return  num+sum(--num);

}

public static void main(String[] args) {
    System.out.println(sum(100));
}

RESPECT&LOVE :一起进步&一起成长
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值