IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 第三章 方法 -> 正文阅读

[Java知识库]第三章 方法

第三章 方法

方法(Method,在很多语言中也被称为“函数”)指的是一段可以被重复调用的代码块,利用方法可以实现庞大程序的拆分,是一种代码重用的技术手段,并且更加适合于代码维护。

3.1 方法基本定义

public static 返回值类型 方法名称(参数类型 参数变量, ....) {
	方法体(本方法要执行的操作);
	[return [返回值];]	
}

方法定义中的返回值与传递的参数类型均为Java中定义的数据类型(基本数据类型、引用数据类型),在方法中可以进行返回数据的处理,如果要返回数据则可以使用return,return所返回的数据类型与方法定义的返回值类型相同,如果不返回数据,则该方法可以使用void进行声明。

范例:定义一个无参数接收并且无返回值的方法

public class JavaDemo {
    public static void main(String[] args) {
        printInfo();
    }
    public static void printInfo() {
        System.out.println("**************");
        System.out.println("www.baidu.com");
        System.out.println("**************");
    }
}

范例:定义一个有参数有返回值的方法

public class JavaDemo {
    public static void main(String[] args) {
        String str = payAndGet(20.2);
        System.out.println("str = " + str);
    }
    public static String payAndGet(double money) {
        if (money >= 10.0) {
            return "钱够了";
        } else {
            return "钱不够";
        }
    }
}

在方法中return语句除了可以返回处理结果之外,也可以结合分支语句实现方法的结束调用。

范例:使用return结束方法调用

public class JavaDemo {
    public static void main(String[] args) {
        sale(20);
    }
    public static void sale(int amount) {
        if (amount > 0) {
            return;  //如果数量出现错误,后续代码就不执行了
        }
        System.out.println(amount);
    }
}

如果传入的参数不满足条件时,可以使用return结束方法的调用。

3.2 方法重载

方法重载是方法名称进行重用的一种技术形式,其最主要的特点为“方法名称相同,参数的类型或个数不同”,在调用时会根据传递的参数类型和个数不同执行不同的方法体。

范例:定义方法重载

public class JavaDemo {
    public static void main(String[] args) {
        int sum = sum(10, 20);
        int sum1 = sum(10, 20, 30);
        System.out.println("sum = " + sum);
        System.out.println("sum1 = " + sum1);
    }
    /**
     *  两个整型加法计算
     * @param x
     * @param y
     * @return
     */
    public static int sum(int x, int y) {
        return x + y;
    }
    /**
     *  实现三个整数加法的计算
     * @param x
     * @param y
     * @param z
     * @return
     */
    public static int sum(int x, int y, int z) {
        return x + y + z;
    }
    /**
     *  实现两个double型数据相加
     * @param x
     * @param y
     * @return
     */
    public static int sum(double x, double y) {
        return (int)(x + y);
    }
}

注意:方法重载时考虑到标准性一般都建议统一返回值类型。

3.3 方法递归调用

递归调用是一种特殊的调用形式,指的是方法自己调用自己的形式,如图4-3所示,但是在进行递归操作的时候必须满足以下的几个条件。

  • 递归调用必须有结束条件。
  • 每次调用的时候都需要根据需求改变传递的参数内容。

范例:实现1~100数字的累加

public class JavaDemo {
    public static void main(String[] args) {
        System.out.println(sum(100));
    }
    public static int sum(int num) {
        if (num == 1){
            return 1;
        }
        return num + sum(num - 1);
    }
}

范例:计算1!+ 2!+ 3!+ 4!+ 5!+ …+ 90!

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

    /**
     * 实现阶乘数据的累加操作
     * @param num
     * @return
     */
    public static double sum(int num) {
        if (num == 1) {
            return factorial(1);
        }
        return factorial(num) + sum(num - 1);
    }
    /**
     *  定义方法实现阶乘计算
     * @param num 根据传入的数字实现阶乘
     * @return 阶乘结果
     */
    public static double factorial(int num) {
        if (num == 1) {
            return 1;
        }
        return num * factorial(num - 1);
    }
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 15:56:35  更:2022-01-03 15:58:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:54:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码