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

java(2)方法的使用


 目录

1.前言

2.正文

2.1方法的定义

2.2方法的调用过程

2.3方法的实参与形参

2.3.1形参

2.3.2实参

2.3.3参数传递

2.4方法的重载

3.小结


1.前言

哈喽大家好啊,今天博主继续带领大家学习java的基本语法,java的基础语法部分打算用六到七篇博文完成讲解,最后再用一个小项目加强自己的熟练度,废话不多说,现在开始。

2.正文

2.1方法的定义

java中的方法,我个人感觉可以对标C语言中的函数来方便理解。在下文中。我仅反复用一段凝练的代码来讲清楚方法。

在Java中,方法是一段用于执行特定任务的代码块,它可以接受参数,执行操作,并返回结果。具体定义格式如下:

[修饰符] 返回类型 方法名(参数列表) {// 方法体
}
  • 修饰符:如publicprivatestaticfinal等,用于控制方法的访问权限和行为。具体在以后的文章会细讲。
  • 返回类型:方法执行完毕后返回的数据类型,如intStringvoid(无返回值)等。
  • 方法名:方法的名称,一般采用小驼峰命名。
  • 参数列表:方法执行时需要的参数,参数之间用逗号分隔。如果没有参数,可以省略参数列表或者写为空括号()

例如在下面这段代码中:

    public static int Add(int x,int y){return x+y;}public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}

我们在sout语句中调用了Add方法,其中public,static为修饰符,int为返回类型,Add为方法名,int x,int y为参数。

2.2方法的调用过程

在这里我们梳理清楚方法调用的过程:

  1. 首先在主调方法里调用目标方法。
  2. 将参数传递过去(这里有实参和形参俩个概念,下文讲解)。
  3. 找到方法的地址后,执行方法体。
  4. 被调方法结束,回到主调方法中继续往下执行。

这里需要注意的一点是:

方法在没被调用的时候是不会被执行的,只有被调用时才会执行。

所以下面俩段代码的输出结果是一致的:

    public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}public static int Add(int x,int y){return x+y;}
    public static int Add(int x,int y){return x+y;}public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}

main方法与Add方法的顺序不影响程序运行结果。

2.3方法的实参与形参

参数是方法执行时需要的输入值,这些参数在方法定义中被称为形参,而在方法调用时提供的参数的main方法中被称为实参。

2.3.1形参

形参是方法定义时声明的参数,它们在方法的参数列表中指定。形参相当于方法内部的局部变量,它们在方法被调用时创建,并在方法执行完毕后销毁。形参的主要用途是接收实参传递过来的值。

特点:

  • 形参是方法定义的一部分。
  • 形参只在方法被调用时存在。
  • 形参的值由实参提供。

2.3.2实参

实参是方法调用时传递给方法的实际值。实参可以是常量、变量、表达式或者方法的返回值。实参的值在方法调用时被传递给形参。

特点:

  • 实参是方法调用的一部分。
  • 实参可以是任何类型的值,包括基本数据类型和引用数据类型。
  • 实参的值在方法调用时确定。

则还是在下段代码中,a和b即为实参,而x和y为形参。

    public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}public static int Add(int x,int y){return x+y;}

2.3.3参数传递

参数传递的方式有两种:传递值和传递引用。

  1. 传递值

    • 基本数据类型(如intdoublechar等)的参数传递是通过值传递的。
    • 当方法被调用时,实参的值会被复制到形参中。
    • 方法内部对形参的修改不会影响到实参。
  2. 传递引用

    • 引用数据类型(如对象、数组等)的参数传递是通过引用传递的。
    • 当方法被调用时,实参的引用(内存地址)会被复制到形参中。
    • 方法内部对形参的修改会影响到实参,因为它们指向同一个对象。

2.4方法的重载

重载是一种允许同一个类中存在多个同名方法,但这些方法的参数列表(参数的类型、数量或顺序)不同的特性。具体规则如下:

  1. 方法名相同:在同一个类中,重载的方法必须具有相同的方法名。
  2. 参数列表不同:参数列表必须在类型、数量或顺序上有所不同。
  3. 返回类型不相关:方法的返回类型不作为重载的依据。即使两个方法的返回类型不同,只要它们的参数列表相同,它们就不能被认为是重载的方法。
  4. 访问修饰符不相关:方法的访问修饰符(如publicprivate等)也不影响重载。

将上文的代码稍作更改:

    public static void main(String[] args) {int a = 1;int b = 2;int c = 3;System.out.println("三数相加:");System.out.println(Add(a,b,c));System.out.println("俩数相加:");System.out.println(Add(a,b));}public static int Add(int x,int y){return x+y;}public static int Add(int x,int y,int z){return x+y+z;}

我们可看到有俩个Add方法,但编译器会自动根据你所调用参数的数量,类型等不同来最终确定你所要调用的方法究竟是哪一个。

3.小结

今天关于方法的分享到这里就结束了,喜欢的小伙伴多多支持,别忘了点赞收藏支持一下哦,你的支持就是对我最大的鼓励。


http://www.mrgr.cn/news/31012.html

相关文章:

  • OSPF总结
  • Java | Leetcode Java题解之第560题和为K的子数组
  • 计算机网络:运输层 —— 运输层端口号
  • 1.3 10S命令行模式
  • Request和Response
  • leetcode86:分隔链表
  • ubuntu下使用qt编译QOCI(libqsqloci.so)驱动详解及测试
  • 三维手势 handpose 3D RGB 手势3D建模 三维建模-手势舞 >> DataBall
  • VSCode开发ros程序无法智能提示的解决方法(一)
  • 苹果M4 MacBook Air被曝2025Q1发布 屏幕面板10月出货
  • 实例讲解电动汽车钥匙Start上下电控制策略及Simulink建模方法
  • 程序员如何提升核心竞争力并应对技术变革》
  • 希亦超声波清洗机值得购买吗?百元清洁技术之王,大揭秘!
  • java基础概念23-接口
  • webpack4 target:“electron-renderer“ 打包加速配置
  • XHTML学习
  • 组题能力研判:基于教师上传试卷的深度分析
  • 使用systemctl实现开机自启动jar包
  • 【医学半监督】对比互补掩蔽的自监督预训练半监督心脏图像分割
  • gRPC介绍
  • 10分钟搞清楚为什么Transformer中使用LayerNorm而不是BatchNorm
  • 掌握Spring Boot数据库集成:用JPA和Hibernate构建高效数据交互与版本控制
  • RPC?别叨叨了,这也算RPC!
  • JavaWeb - 5 - 前端工程化
  • 继承常见问题
  • 一文读懂HPA弹性扩展以及实践攻略