Java基础05: 方法

一 方法的使用

1 方法介绍以及简单方法定义(无参无返回值)

1.概述:功能,拥有功能的代码块{}
2.作用:将实现功能的具体代码放在对应的代码块中,提高了可维护性,提高了复用性
3.定义格式:
  public static 返回值类型 方法名(参数列表){
      方法体
      return 结果;
  }
//定义一个无参数无返回值的方法
1.定义:
  public static void 方法名(){
     方法体
  }
2.使用:
  在main方法中:方法名()
public class Demo01Method {
    public static void main(String[] args) {
       method();
    }
    /*
        public static 返回值类型 方法名(参数列表){
           方法体
           return 结果;
        }
     */

    public static void method(){
        System.out.println("你叫二狗");
    }

}

2.无参数无返回值的方法执行流程

在这里插入图片描述

3.方法定义各部分解释

  public static 返回值类型 方法名(参数列表){
      方法体
      return 结果;
  }
a.public static ->固定的
b.返回值类型:一旦有了返回值类型,证明该方法会将最后的结果返回,类型要和最终返回的结果的类型一致;
           返回值最终返回给了调用者,因为调用者调用我的方法,需要方法返回结果给调用者
c.方法名:自己取名
d.参数列表:调用方法时,要操作的数据,我们调用方法时,会将要操作的数据传递到方法内部,在内部对参数进行操作
          当方法不知道用户会传递什么数据时,我们就要定义参数,等着用户调用我,给我传递具体的值
          
          数据类型 变量名,数据类型 变量名
e.方法体:具体实现该方法的代码
f.return 结果:该方法给用户返回的结果           

4.方法的注意事项

a.方法和方法之间是平级关系
b.方法中不能嵌套方法
c.void和return 值不能共存(void 代表 无返回值;return 值 代表有返回值)
d.方法不调用不执行的
e.main方法是jvm调用

5.有参数无返回值的方法定义和执行流程

1.定义格式:
  public static void 方法名(参数列表){
      方法体
  }
2.调用:
  方法名(具体的值)
需求:定义一个方法,实现两个整数相加

方法三要素:
  方法名:要
  参数:int a,int b
  返回值:不要
public class Demo02Method {
    public static void main(String[] args) {
        //调用  调用者  用户
        sum(10,20);
    }
    
    public static void sum(int a,int b){
        int sum = a+b;
        System.out.println(sum);
    }
}

在这里插入图片描述

6.无参数有返回值定义以及执行流程

1.定义格式:
  public static 返回值类型 方法名(){
      方法体;
      return 结果
  }

2.调用:
  数据类型 变量名 = 方法名()
需求:
   定义一个方法,实现1020相加,将结果返回给调用者
public class Demo03Method {
    public static void main(String[] args) {
      //调用  调用者  用户
        int result = sum();//30
        System.out.println(result);//30
    }

    //无参数有返回值的方法
    public static int sum(){
        int a = 10;
        int b = 20;
        int sum = a+b;//30
        return sum;//30  return 30
    }
}

在这里插入图片描述

7.有参数有返回值定义以及执行流程

1.定义格式:
  public static 返回值类型 方法名(参数列表){
      方法体;
      return 结果;
  }
2.调用:
  数据类型 变量名 = 方法名(具体的值)->接收了return回来的结果
需求:定义一个方法,实现两个整数相加,并将结果返回
方法三要素:
  方法名:要
  参数:要
  返回值:
public class Demo04Method {
    public static void main(String[] args) {
        //调用,调用者,用户
        int sum = sum(20,20);//接收sum方法 return回来的结果(result)->30
        System.out.println(sum);
    }

    /*
      需求:定义一个方法,实现两个整数相加,并将结果返回
      方法三要素:
        方法名:要
        参数:要
        返回值:要
     */

    public static int sum(int i,int j){
        int result = i+j;
        return result;//将result结果return给了调用者
    }
}

在这里插入图片描述

8.形式参数和实际参数区别

形式参数:定义方法的时候,定义的参数
实际参数:调用方法的时候,传递的具体的值

9.变量作为实参使用

需求:定义一个方法,比较两个整数的大小,如果第一个参数比第二个参数大,返回true,否则返回false;
方法名:要
参数:要
返回值:要 由于返回的要不就是true,要不就是false,所以返回值类型boolean

public class Demo05Method {
    public static void main(String[] args) {
        int i = 10;
        int j = 20;

       //调用
       // boolean result = compare(10,20);
        boolean result = compare(i,j);//相当于compare(10,20)
        System.out.println(result);
    }
    public static boolean compare(int a,int b){//int a = i   int b = j
        if (a>b){
            return true;
        }else{
            return false;
        }
    }
}
public class Demo06Method {
    public static void main(String[] args) {
       //创建Scanner对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请你输入第一个数:");
        int i = sc.nextInt();//10
        System.out.println("请你输入第二个数:");
        int j = sc.nextInt();//20

        //调用
        boolean result = compare(i,j);//compare(10,20)
        System.out.println(result);
    }
    public static boolean compare(int a,int b){//int a = i   int b = j
        if (a>b){
            return true;
        }else{
            return false;
        }
    }
}

二 方法的练习

1.方法练习1(判断奇偶性)

需求:
   键盘录入一个整数,将整数传递到另外一个方法中,在此方法中判断这个整数的奇偶性
   
方法名:要
返回值:要
参数:
public class Test01 {
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入一个整数:");
        int data = scanner.nextInt();

        String result = method(data);
        System.out.println(result);
    }

    public static String method(int data) {
        if (data%2==0){
            return "偶数";
        }else{
            return "奇数";
        }
    }
}

2.方法练习2(1-100的和)

需求 :  求出1-100的和,并将结果返回

方法名:要
返回值:int
参数:不要
public class Test02 {
    public static void main(String[] args) {
       //调用方法,调用处,用户
       int result = sum();
        System.out.println(result);
    }

    public static int sum(){
        //定义一个变量接收两个数的和
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum+=i;
        }
        return sum;
    }
}

3.方法练习3(不定次数打印)

需求:
  定义一个方法,给这个方法传几,就让这个方法循环打印几次"我爱Java"
方法名:要
返回值:不要
参数:
public class Test03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        //调用方法
        print(n);

    }

    public static void print(int n){
        for (int i = 0;i<n;i++){
            System.out.println("I Love You Java!");
        }
    }
}

4.方法练习4(遍历数组)

需求:
  在main方法中定义一个数组,将数组传递到方法中,在此方法中遍历数组
public class Test04 {
    public static void main(String[] args) {
      //定义数组
        int[] arrA = {1,2,3,4,5};
        method(arrA);
    }

    public static void method(int[] arrB){//int[] arrB = arrA
        //遍历数组
        for (int i = 0; i < arrB.length; i++) {
            System.out.println(arrB[i]);
        }
    }
}

5.方法练习5(求数组最大值)

需求: 
  在main方法中定义数组,传递到另外一个方法中,在此方法中实现获取数组最大值
public class Test05 {
    public static void main(String[] args) {
        //定义数组
        int[] arrA = {5,3,6,4,6,8};
        //调用者,用户
        int max = method(arrA);
        System.out.println(max);
    }

    public static int method(int[] arrB){
        int max = arrB[0];
        for (int i = 0; i < arrB.length; i++) {
            if (max<arrB[i]){
                max = arrB[i];
            }
        }

        return max;
    }
}

6.方法练习6(按照指定格式输出数组元素)

需求:
  1.定义一个数组 int[] arr = {1,2,3,4}
  2.遍历数组,输出元素按照[1,2,3,4]
  
方法名:要
参数:要
返回值:不要,直接输出
public class Test06 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4};
        method(arr);
    }

    public static void method(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i==arr.length-1){
                System.out.print(arr[i]+"]");  
            }else{
                System.out.print(arr[i]+",");
            }
        }
    }
}

快速将代码抽到一个方法中:选中要抽取的方法->ctrl+alt+m

7.练习7

数组作为返回值返回
public class Test {
    public static void main(String[] args) {
        //调用者,用户
        int[] arr1 = sum();//int[] arr1 = arr
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }

    public static int[] sum(){
        //定义数组
        int[] arr = {1,2};
        return arr;

    }
}

在这里插入图片描述

三 方法注意事项终极版

1.方法不调用不执行
2.方法之间不能嵌套
3.方法的执行顺序之和调用顺序有关
4.void 和return 值不能共存(void 代表无返回值;return 值代表先将结果返回,然后结束方法)
但是void能和return共存
5.调用方法的时候,要看下面有没有此方法,要完全匹配
6.一个方法中只能有一个返回值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值