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方法 -> 正文阅读

[Java知识库]JAVA方法

方法的基本用法

什么是方法?

  • Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。
  • 对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。(其实与C语言的函数基本一致)

方法存在的意义

  • 是能够模块化的组织代码
  • 做到代码被重复使用,一份代码可以在多个位置使用
  • 让代码更好理解更简单
  • 直接调用现有方法开发,不必重复造轮子

方法的构成

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型
  • 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

在这里插入图片描述

代码示范

public class Test {
    public static int add(int a,int b) {   //函数的实现
        int c=a+b;
        return c;//返回值
    }
    public static void main(String[] args) {
        int a=100;
        int b=100;
        int c=add(a,b);//加法函数
        System.out.println("c="+c);//验证结果
    }
}

在这里插入图片描述

注:通过上面的知识可知Java的方法无论是知识还是使用都与C语言高度相似。

方法的重载

方法重载是让类以统一的方式处理不同类型数据的一种手段。

方法重载:

  • 1、同一个类中
  • 2、方法名相同,参数列表不同(参数顺序、个数、类型)
  • 3、方法返回值、访问修饰符任意
  • 4、与方法的参数名无关

代码展示:由于参数类型不匹配,所以不能直接使用现有的add方法。
在这里插入图片描述
因此当遇到上面情况是,可以改写成这样,就行。

在这里插入图片描述

方法递归

什么是方法递归?

方法自己调用自己,这就是方法递归

当递归时程序没有结束条件,一定会发生:

  • 栈内存溢出错误:stackOverflowError
  • 所以:递归必须要有结束条件

注:由于Java的递归与C的递归基本一致,这里就不作过多阐述。

eg1:

//递归求n的阶乘
public class Target {
    public static int fun(int n) {
        if(n==1) {
            return 1;
        }
        return n*fun(n-1);
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=0;
        n=sc.nextInt();
        int sum=fun(n);
        System.out.println("sum="+sum);
    }
}

eg2:

//递归求 1 + 2 + 3 + ... + 10
public class Target {
    public static int add(int n) {
        if(n==1) {
            return 1;
        }
        return n+add(n-1);
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=10;//10
        int sum=add(n);
        System.out.println("sum="+sum);
    }
}

eg3:

//求斐波那契数列的第n项。(迭代实现)
public class Target {
    public static int fib(int b) {
        if(b<=2) {
            return 1;
        }
        return (fib(b-1)+fib(b-2));
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=fib(a);
        System.out.println("b="+b);
    }
}

在这里插入图片描述

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

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 1:49:03-

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