java 第五章 > 方法的简单介绍

方法

方法概述

就是一段具有独立功能的代码块,不调用就不执行

提高代码复用性

前提

  • 方法必须先创建才可以使用,该过程成为方法的定义
  • 方法创建后并不是直接运行的,需要手动调用才执行,该过程称为方法的调用
方法的定义和调用

定义

  • 格式
public static void 方法名() {
    方法体
}
  • 调用格式
方法名()

方法必须先定义后调用

  • 例子
public static void main (String[] args){
    eat();
}
public static void eat(){
    System.out,println("吃饭");
}

案例1

奇偶数判断

package Day5L;

import java.util.Scanner;

public class JiO {
    public static void main(String[] args) {
        jo();
    }

    public static void jo() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请用户输入一个整数:");
        int num = sc.nextInt();
        if (num % 2 == 0) {
            System.out.println(num + "为偶数");
        } else {
            System.out.println(num + "为奇数");
        }
    }
}
带参数的方法的定义和调用
public static void method(int num)


public static void method(int num,intnum2)
  • 方法定义是,参数中的数据类型与变量名缺一不可
  • 多个参数用,隔开

调用

方法名(参数)
方法名(参数,参数)
形参和实参

形参

  • 形参:形式参数(定义的参数)
  • 实参:实际参数(调用给的参数)
案例

打印奇数

package Day5L;

import java.util.Scanner;

public class JiShu {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请用户输入第一个数");
        int n = sc.nextInt();
        System.out.println("请用户输入第二个数");
        int m = sc.nextInt();
        print(n, m);
    }

    public static void print(int n, int m) {
        if (n <= m) {
            for (int i = n; i <= m; i++) {
                if (i % 2 != 0) {
                    System.out.println(i);
                }
            }

        } else {
            for (int i = n; i >= m; i--) {
                if (i % 2 != 0) {
                    System.out.println(i);
                }
            }
        }
    }
}
带返回值的定义和调用

格式

public static 数据类型   方法名(参数){
    return 数据;
}

方法名(参数) //没意义

数据类型 变量名 = 方法名(参数)

return 返回值

  • 方法的返回值通常用变量接收,否则没意义.
案例
package Day5L;

import java.util.Scanner;

public class Max {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        int num1 = sc.nextInt();
        System.out.println("请输入第二个数:");
        int num2 = sc.nextInt();
        if (num1 == num2) {
            System.out.println("两数相等,最大值为" + num1);
        } else {
            int max = max(num1, num2);
            System.out.println("最大值为:" + max);
        }

    }

    public static int max(int a, int b) {

        int c = a > b ? a : b;
        return c;
    }
}

通用格式
public static 返回值类型 方法名(参数){
    方法体;
    ruturn 数据;
}
  • public stsatic: 修饰符
  • 返回值类型: 返回之后数据类型相同,如果没有返回值,写void 不写return
  • 方法名:调用方法的表示
  • 参数:方法运行前所需的材料
  • 方法体:完成功能的代码块
  • return 返回数据

注意事项

  • 方法之家不能嵌套定义
  • 方法的返回值为void,表示没有返回值,没有返回值的方法可以省略return,如果要写,后面不能跟具体数据
  • return语句下面,不能写代码,因为永远执行不到
方法重载
  • 方法不可以重复定义,但是可以同名,只有同名同参冲突
  • 个数不同
  • 类型不同
  • 顺序不同

好处

  • 不用记忆过多的繁琐的方法名
方法的传递(基本数据类型)

不变

方法的传递(引用数据类型)(数组)

案例

数组遍历

package Day5L;

public class ShuZuBianLi {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55};
        System.out.print("[");
        printArr(arr);
        System.out.println("]");
    }
    public static void printArr(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + ", ");
        }
    }
}

获取数组中的最大值

package Day5L;

public class ArrMaxAndMin {
    public static void main(String[] args) {
        int[] arr = {11, 58, 64, 34, 58, 658, 94, 42, 54, 2};
        arrMaxAndMin(arr);
    }

    public static void arrMaxAndMin(int[] arr) {
        int max = arr[0];
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }

        }
        for (int i = 1; i < arr.length; i++) {
            if (min > arr[i]) {
                min = arr[i];
            }
        }
        System.out.println("数组中最大的值为" + max);
        System.out.println("数组中最小的值为" + min);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aming_sth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值