一篇文章带你入门java方法

目录
  • 方法的使用
    • 什么是方法
    • 方法的语法
      • 基本语法
      • 代码示例
      • 注意事项
    • 方法的调用
      • 调用规则
      • 代码示例
  • 方法的重载
    • 引例
    • 使用重载
    • 重载规则
  • 方法递归
    • 递归定义
      • 代码示例
    • 递归执行过程分析
  • 总结

方法的使用

什么是方法

初次看到方法两字,心里有些疑惑。方法不是指为获得某种东西或达到某种目的而采取的手段与行为方式吗?这是我们日常生活中所说的方法。而在Java中, 方法就是一个代码片段,类似于C语言中的函数。

方法的存在意义:

1.当代码规模比较复杂的时候,能够模块化地组织代码。

2.做到代码被重复使用。一份代码可以在多个位置使用。

3.让代码更好理解更简单。

4.直接调用现有方法开发,不必重复造轮子。

方法的语法

基本语法

// 方法定义
public static 方法返回值 方法名称([参数类型 形参 ...]){
     //方法体代码;
     return 返回值;
}
// 方法调用
返回值变量 = 方法名称(实参...);

代码示例

public static void main(String[] args) {
    int a = 20;
    int b = 30;
    int c = add(a,b);//方法的调用
    System.out.println(c);
}
//方法的定义
public static int add(int a,int b) {
    return a + b;
}

结果为:

注意事项

  • 方法定义时,参数可以没有,每个参数要指定类型。
  • 方法定义时,返回值也可以没有,如果没有返回值,则返回值类型应写成 void。
  • 方法定义时的参数称为"形参",方法调用时的参数称为 “实参”。
  • 方法的定义必须在类之中, 代码书写在调用位置的上方或者下方均可。
  • Java 中没有 “函数声明” 这样的概念。

方法的调用

调用规则

  • 定义方法的时候,不会执行方法的代码。只有调用的时候才会执行。
  • 当方法被调用的时候,会将实参赋值给形参。
  • 参数传递完毕后,就会执行到方法体代码。
  • 当方法执行完毕之后(遇到 return 语句),就执行完毕,回到方法调用位置继续往下执行。
  • 一个方法可以被多次调用。

代码示例

public static void main(String[] args) {
    int a = 20;
    int b = 30;
    int c = add(a,b);
    System.out.println("c = " + c);
    int d = add(a,c);
    System.out.println("d = "+ d);
    int e = add(c,d);
    System.out.println("e = "+ e);
}
public static int add(int a,int b) {
    return a + b;
}

结果为:

方法的重载

引例

如果我们需要一个计算两个整型之和的方法,那么我们可以这样定义:

public static int addInt(int a,int b) {
        return a + b;
}

如果我们需要一个计算两个double型之和的方法,那么我们可以这样定义:

public static double addDouble(double a, double b) {
        return a + b;
}

我们可以发现,这两个方法的作用基本相同,都是计算两数之和,只是参数和返回类型不同而已。那么我们是否可以将其简化呢?

使用重载

public static int add(int a,int b) {
        return a + b;
}
public static double add(double a, double b) {
    return a + b;
}

同一个方法名字,供不同版本的实现,称为方法重载。

我们可以通过下面这段代码进行验证:

public static void main(String[] args) {
    int a = 20;
    int b = 30;
    double c = 5.4;
    double d = 7.8;
    System.out.println(add(a,b));
    System.out.println(add(c,d));
}
public static int add(int a,int b) {
    return a + b;
}
public static double add(double a, double b) {
    return a + b;
}

结果为:

重载规则

  • 方法名相同
  • 参数列表不同(参数个数和参数类型不同)
  • 返回值不作要求
  • 重载不是必须要在一个类当中(继承)

当两个方法的名字相同,参数也相同,但是返回值不同的时候,不构成重载。 例如:

此时编辑器便报错。

方法递归

递归定义

一个方法在执行过程中调用自身,同时有一个趋近于终止的条件,就称为方法递归。

代码示例

public static void main(String[] args) {
    int n = 5;
    int ret = fac(n);
    System.out.println("ret = " + ret);
}
//求n的阶乘
public static int fac(int n) {
    if(n == 1) {
        return 1;
    } else {
        return n * fac(n - 1);
    }
}

执行结果为:

递归执行过程分析

例如上面这段代码,它的执行过程如下:

更简洁的解释如下:

所有的递归都可以这样分析。

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容在!

(0)

相关推荐

  • 一篇文章带你了解java泛型--泛型类,泛型方法,泛型接口

    目录 Java 泛型 Java 泛型是什么 泛型类 泛型类的格式 泛型类举例 泛型方法 泛型方法的格式 泛型方法举例 泛型接口 泛型接口的格式 泛型接口举例 泛型接口实现类: 测试接口类: 打印结果: 总结 Java 泛型 Java 泛型是什么 官方定义: 泛型是Java SE 1.5的新特性,泛型的本质就是参数化类型,也就是说所操作的数据类型被指定为一个参数 这种参数类型可以用在类.接口和方法的创建中,分别成为泛型类.泛型接口.泛型方法 优缺点: ​ 优点:可以不用再类型转换了 ​ 缺点:降低

  • java中反射和注解的简单使用方法

    目录 什么反射? Java反射机制提供的功能 反射相关的主要API Class 类 获取Class 类的实例( 四种方法) 哪些类型可以有Class 对象? 演示Class类的常用方法 有了Class对象,能做什么? 调用运行时类的指定结构 1. 调用指定方法 关于setAccessible 调用Class对象的newInstance()方法 综合案例: 注解 什么是注解? 常见的Annotation JDK 中的元注解 自定义 Annotation 最后通过反射获取注解信息: 总结 什么反射?

  • 一篇文章带你入门Java方法详解

    目录 案例1 案例2 概念 如何定义方法 方法说明 方法实例 无参无返回值 有参无返回值 无参有返回值 有参有返回值 方法的调用 1.非静态方法 2.静态方法 小AD秀技术 总结 案例1 ♀ 小AD:明哥,刚才那个打野过来趁线你为啥不喷!那么友好的态度,被嫂子制裁了? ♂ 明世隐:你啥呀,你没看到人打野头上冒金光啊,还喷! ♀ 小AD:什么冒金光,如来佛祖? ♂ 明世隐:金色打野刀啊,那个刀不趁线的. ♀ 小AD:哦这样啊,难怪我说你不正常. ♂ 明世隐:分析一下来. 分析 打野刀 过程 结果

  • java对象转化成String类型的四种方法小结

    目录 方法1:采用 Object#toString()方法 方法2:采用类型转换(String)object方法 方法3:采用 String.valueOf(Object) 方法 方法4:采用 ""+object方法 在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object#toString(),(String)要转换的对象,String.valueOf(Object)等. 方法1:采用 Object

  • Java服务器宕机的解决方法论

    1 宕机概要 1.1 定义 向服务器的请求都没有响应或者响应非常慢. 前端界面的崩溃并非宕机. 1.2 分类 进程闪退 内部崩溃 外部终止 线程锁死或者无限等待 内存溢出 下面分别进行详解 2 进程闪退 2.1 内部崩溃 JVM 发生内部崩溃,必然会生成"hs_err_pid"开头的文件. 下面讲一种常见情况: 无法申请内存,显示commit_memory错误 Current thread (0x00007f3e40013000): JavaThread "Unknown t

  • 一篇文章带你入门java方法

    目录 方法的使用 什么是方法 方法的语法 基本语法 代码示例 注意事项 方法的调用 调用规则 代码示例 方法的重载 引例 使用重载 重载规则 方法递归 递归定义 代码示例 递归执行过程分析 总结 方法的使用 什么是方法 初次看到方法两字,心里有些疑惑.方法不是指为获得某种东西或达到某种目的而采取的手段与行为方式吗?这是我们日常生活中所说的方法.而在Java中, 方法就是一个代码片段,类似于C语言中的函数. 方法的存在意义: 1.当代码规模比较复杂的时候,能够模块化地组织代码. 2.做到代码被重复

  • 一篇文章带你入门java面向对象

    目录 一.继承 示例: 二.重载 三.接口 1.接口与类相似点: 2.接口与类的区别: 3.语法 四.枚举 1.定义 2.迭代枚举元素 3.在 switch 中使用枚举类 总结 一.继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为 本章就以人.学生.老师作为例子.学生和老师都继承人这个对象,都有人的特征和行为,人就是父类,老师和学生就是子类 示例: 人类: package com.zhouzy.base.t7;

  • 一篇文章带你入门Java修饰符

    目录 定义 分类 访问控制修饰符 非访问控制修饰符 修饰符的使用说明 修饰类 修饰方法 访问控制修饰符 非访问控制修饰符 修饰变量 总结 定义 Java修饰符:修饰符用来定义类.方法或者变量,通常放在语句的最前端. 分类 主要分为2类: 访问控制修饰符 非访问控制修饰符 访问控制修饰符 可以使用访问控制符来保护对类.变量.方法和构造方法的访问.分为以下4中权限:private,default,protected,public. 权限说明: 修饰符 当前类 同包 子类(不同包) 不同包(其他类)

  • 一篇文章带你入门Java继承

    目录 Java中继承 什么是继承: 为什么要用继承: 学习总结: 继承关键字:extends 总结 Java中继承 什么是继承: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 为什么要用继承: 可以去掉重复代码,方便后期维护 举个列子,大家应该都玩过英雄联盟,每个英雄都是一个类,如果说不用继承的话每次都要重复定义每个英雄的成员属性,如下图我举了一个MF,一个EZ的列子 public class MissFortu

  • 一篇文章带你入门Java封装

    目录 什么是封装 如何实现封装 代码展示 构造方法 注意点: 代码展示 总结 封装的优点 什么是封装 Java中的封装是将数据(变量)和作用于数据(方法)的代码作为一个单元包装在一起的机制. 在封装中,类的变量将从其他类隐藏,并且只能通过当前类的方法访问. 如何实现封装 可以分为两步: 第一步:将类的变量声明为private. 第二步:提供公共set和get方法来修改和获取变量的值. 代码展示 public class User { private String name; private in

  • 一篇文章带你入门Java运算符

    目录 算数运算符(Arithmetic operator) 关系运算符(Relational operator) 逻辑运算符(Logical operator) 赋值运算符(Assignment Operators) 三元运算符(Ternary operator) 运算符优先级 标识符的命名规则和规范 关键字定义和特点 保留字 总结 运算符时一种特殊的符号,用以表示数据的运算,赋值和比较等. 算数运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三元运算符 算数运算符(Arithmetic

  • 一篇文章带你入门java泛型

    目录 一.什么是泛型 二.语法 三.示例 1.简单示例 2.返回最大值-支持各种数据类型 3.泛型类 4.类型通配符 总结 一.什么是泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 二.语法 你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数.根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用. 下面是定

  • 一篇文章带你入门java多线程

    目录 一.描述 二.一个线程的生命周期 三.线程的优先级 四.创建线程 五.示例 1.Runnable接口 2.继承Thread 3.Callable 和 Future 创建线程 4.测试 总结 一.描述 Java 给多线程编程提供了内置的支持. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销. 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个

  • 一篇文章带你入门java集合

    目录 一.简介 1.java集合框架图 2.集合框架体系 3.Set和List的区别 二.ArrayList 1.定义 2.用实例了解ArrayList 三.LinkedList 1.语法 2.示例 四.HashSet 1.定义 2.语法 3.示例 五.HashMap 1.定义 2.语法 3.示例 Java HashMap 方法 六.Iterator(迭代器) 1.定义 2.示例 七.List和数组互转 总结 一.简介 1.java集合框架图 从上面的集合框架图可以看到,Java 集合框架主要包

随机推荐