当前位置: 首页 > news >正文

Java 学习29:方法

一、概述

1. 什么是方法

方法是语句的集合,它们在一起执行一个功能。

2. 方法的优点

  • 使程序变得更简短而清晰。
  • 有利于程序维护。
  • 可以提高程序开发的效率。
  • 提高了代码的重用性。

3. 方法的命名规则

方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,例如:addPerson。

二、方法创建

1. 语法

修饰符 返回值类型 方法名(参数类型 参数名) {
...
方法体
...
return 返回值;
}

2. 实例

public static int max(int num1, int num2) {int result; if (num1 > num2)result = num1;elseresult = num2;return result;
}

三、方法调用

1. 非静态方法调用

非静态方法是没有 static 修饰的方法,必须通过对象来调用。例如:

public class InvokeMethod {public static void main(String[] args) {InvokeMethod in = new InvokeMethod();in.t1();}public void t1() {System.out.println("t1");}
}

在上述代码中,t1() 方法是一个非静态方法,必须通过 InvokeMethod 类的对象 in 来调用。

2. 静态方法调用

静态方法是用 static 修饰的方法,可以通过类名直接调用。例如:

public class InvokeMethod {public static void main(String[] args) {InvokeMethod.t2();}public static void t2() {System.out.println("static t2");}
}

在上述代码中,t2() 方法是一个静态方法,可以通过类名 InvokeMethod 直接调用。

如果是在本类中的内部调用,可以省略类名。例如:

public class InvokeMethod {public static void main(String[] args) {t2();}public static void t2() {System.out.println("static t2");}
}

3. 实例

public class Test {/** 主方法 */public static void main(String[] args) {int i = 5;int j = 2;int k = max(i, j);  // 调用方法System.out.println( i + " 和 " + j + " 比较,最大值是:" + k);}/** 返回两个整数中的较大者 */public static int max(int num1, int num2) {int result; if (num1 > num2)result = num1;elseresult = num2;return result;}
}

四、方法重载

1. 方法重载的含义

重载(Overloading)是指在同一个类中定义多个方法,这些方法具有相同的名字,但参数列表不同。参数列表的不同可以体现在参数的数量、类型或顺序上。

重载的主要目的是为了提高代码的可读性和灵活性,使得同一个方法名可以处理不同类型或数量的参数。

2. 重载的规则

  • 方法名相同:所有重载的方法必须具有相同的方法名。
  • 参数列表不同:参数的数量、类型或顺序必须至少有一个不同。
  • 返回类型可以不同:重载的方法可以有不同的返回类型,但这不是区分重载方法的依据。
  • 访问修饰符可以不同:重载的方法可以有不同的访问修饰符。
  • 异常声明可以不同:重载的方法可以声明新的或更广的检查异常。

3. 实例

static int plusMethod(int x, int y) {return x + y;
}static double plusMethod(double x, double y) {return x + y;
}public static void main(String[] args) {int myNum1 = plusMethod(8, 5);double myNum2 = plusMethod(4.3, 6.26);System.out.println("两数之和是:" + myNum1);System.out.println("两数之和是:" + myNum2);
} 

五、递归

1. 递归的含义

递归是指在一个方法的执行过程中调用自身的方法。这种方法在解决某些问题时非常有效,尤其是那些可以分解为更小的相同问题的情况。递归的核心在于定义一个基准条件(终止条件)和一个递推公式。

2. 实例

求阶乘。递推公式为:N! = N * (N-1)!,其中1! = 1

class Factorial {static int factorial( int n ) {if (n != 1)  // 终止条件return n * factorial(n-1); //递归调用elsereturn 1;}public static void main(String[] args) {int number = 5;int result;result = factorial(number);System.out.println(number + " 的阶乘:" + result); // // 输出 5的阶乘:120}
}

http://www.dtcms.com/a/548520.html

相关文章:

  • Kafka 全方位详细介绍:从架构原理到实践优化
  • Obsidian 入门教程(二)
  • [测试工具] 如何把离线的项目加入成为git项目的新分支
  • 让数据导入导出更智能:通用框架+验证+翻译的一站式解决方案
  • 今天我们学习Linux架构keepalived实现LVS代理双击热备
  • [Linux]内核队列实现详解
  • 【Spring Cloud】Spring Cloud Config
  • MySQL | 数据查询DQL语言:分组统计
  • 阿里云灵码IDE技术测评:从v0.1.0到v0.1.5的进化之路
  • 江门网站推广技巧asp网站服务建设
  • C++: inline 与 ODR,冲突的诞生
  • 营销型 展示类网站企业网站建设空间
  • 从单体到微服务:Java的分布式演进与工程实战
  • 【论文笔记】扩散模型——如何通俗理解传统概率模型的核心矛盾
  • android15 实现截屏功能
  • 工业4.0数据中枢:重构产品全生命周期的智能设计范式
  • 深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径
  • 架构论文《论数字孪生系统架构设计与应用》
  • 郑州网站建设汉狮如何让百度收录自己的网站信息
  • 英一2017年真题学习笔记
  • PaddleOCR-VL对标DeepSeek-OCR?
  • DeepSeek-OCR 论文精读与实践:用“光学上下文压缩”把长文本变成图片,再由 VLM 高效还原
  • 创新网站内容建设企业建网站的案例
  • 沈阳建站模板系统包括如何自己创建一个网页
  • NLP模型优化
  • 运行当前位置,显示文件全名,检查是否扩展名多次重叠
  • 基于ubuntu22构建spark镜像 —— 筑梦之路
  • Iterable<Result<Item>>讲一下
  • mstscax!CMCS==MCSSendConnectInitial函数分析之mstsc.exe源代码分析第二次交互
  • 分享MATLAB在数据分析与科学计算中的高效算法案例