JavaSE | 初识Java(五) | 方法的使用

news2025/1/15 12:48:12
方法就是一个代码片段, 类似于 C 语言中的 " 函数 "。
方法可以是我们代码逻辑更清晰,并且可以服用方法使代码更简洁
方法语法格式
// 方法定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}

实例:实现一个两数相加的方法

public class Method{
// 方法的定义
public static int add(int x, int y) {
return x + y;
    }
}
注意事项
  1. 修饰符:现阶段直接使用public static 固定搭配
  2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void
  3. 方法名字:采用小驼峰命名
  4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
  5. 方法体:方法内部要执行的语句
  6. java当中,方法必须写在类当中
  7. java当中,方法不能嵌套定义
  8. java当中,没有方法声明一说
方法调用过程
调用方法 --- > 传递参数 --- > 找到方法地址 --- > 执行被调方法的方法体 --- > 被调方法结束返回 --- > 回到主调方法继续往下 执行
注意事项
  • 定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行.
  • 一个方法可以被多次调用.

形参和实参的关系

实参 a b main 方法中的两个变量,其空间在 main 方法的栈 ( 一块特殊的内存空间 ) 中,而形参 x y swap 方法中 的两个变量,x y 的空间在 swap 方法运行时的栈中,因此:实参 a b 与 形参 x y 是两个没有任何关联性的变量,
swap 方法调用时,只是将实参 a b 中的值拷贝了一份传递给了形参 x y ,因此对形参 x y 操作不会对实参 a b 产生任何影响。
注意:对于 基础类型 来说 , 形参相当于实参的拷贝 . 传值调用

解决办法: 传引用类型参数

public class TestMethod {
public static void main(String[] args) {
int[] arr = {10, 20};
swap(arr);
System.out.println("arr[0] = " + arr[0] + " arr[1] = " + arr[1]);
}
public static void swap(int[] arr) {
int tmp = arr[0];
arr[0] = arr[1];
arr[1] = tmp;
    }
}
// 运行结果
arr[0] = 20 arr[1] = 10

方法重载

Java中的方法重载与C++的函数重载差不多

都支持相同的方法实现对不同类型的参数进行操作

public class TestMethod {
public static void main(String[] args) {
add(1, 2); // 调用add(int, int)
add(1.5, 2.5); // 调用add(double, double)
add(1.5, 2.5, 3.5); // 调用add(double, double, double)
}
public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}
public static double add(double x, double y, double z) {
return x + y + z;
}
}
注意:
        1. 方法名必须相同
        2. 参数列表必须不同 ( 参数的个数不同、参数的类型不同、类型的次序必须不同 )
        3. 与返回值类型是否相同无关
需要值得一提的是: 返回值不同但参数相同不构成方法重载
在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那 为什么类中就 可以定义方法名相同的方法呢?
原因是方法在编译的时候生成了方法签名,不同参数的方法生成的方法签名不一样
方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式: 方法全路径名 + 参数列表 + 返回值类型,构成 方法完整的名字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1056425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自媒体文章改写工具-自媒体文章改写软件

自媒体时代已然来临,每个人都有机会成为自己的内容创作者,分享自己的观点和故事。在竞争激烈的自媒体领域,如何让自己的文章脱颖而出,吸引更多读者成为了一个重要的问题。 自媒体文章改写是一项旨在提高文章原创性和吸引力的关键任…

Arcgis打开影像分析窗口没反应

Arcgis打开影像分析窗口没反应 问题描述 做NDVI计算的时候,一直点击窗口-影像分析,发现影像分析的小界面一直不跳出来。 原因 后来发现是被内容列表给遮住了,其实是已经出来了的。。 拖动内容列表就能找到。 解决方案 内容列表和影像分…

热点文章采集-热点资讯采集工具免费

在信息时代,掌握热点资讯、了解热门时事、采集热门文章是许多自媒体从业者和信息追踪者的重要任务。然而,这并不是一项容易的任务。信息的海洋庞大而繁杂,要从中捞取有价值的热点和文章需要耗费大量时间和精力。 热点资讯采集:信息…

[Linux 基础] 一篇带你了解linux权限问题

文章目录 1、Linux下的两种用户2、文件类型和访问权限(事物属性)2.1 Linux下的文件类型2.2 基本权限2.3 文件权限值的表示方法(1)字符表示方法(2)8进制数值表示方法 2.4 文件访问权限的相关设置方法(1) chm…

番外4:VMware安装

step4: 安装过程中,有些选项不需要点(安装地址建议选C盘或默认,装载在其他盘后续会报错),如: may error(本人猜测安装虚拟机完整版需要C盘的一些桥插件支持): step5: 安装虚拟机成功…

爆文采集器-热点爆文章采集工具

当信息在互联网上迅速传播,新闻迅速变化,自媒体创作者和信息追踪者们都希望能够捕捉到瞬息万变的热点话题,以吸引更多的关注和流量。爆文采集器成为了一项关键的工具,有助于他们在信息的海洋中找到并分享最新、最热门的内容。 热点…

MAC手动修复『已损坏』问题 终端运行命令报错处理

安装一些第三方软件会出现已损坏的报错提醒,需要用命令sudo xattr -rd com.apple.quarantine进行修复,但是终端提示命令错误,怎么版 错误有几种: No module named ‘pkg_resources’ 这是mac电脑上python2,python3并…

eBPF 的发展历程及工作原理

目录 eBPF 是什么 掌握 eBPF 是不是得先成为内核开发者? eBPF 的发展历程是什么样的? eBPF 是怎么工作的? eBPF 是万能的吗? 小结 eBPF 是什么 eBPF 是什么呢? 从它的全称“扩展的伯克利数据包过滤器 (Extended Berkeley Packet Filter)” 来看…

2023年(24届)计算机保研推免经历(保研边缘人)| (吉大AI、华师cs、东南、浙软)

前言 写下这篇博客的原因在于自己保研期间刷了很多很多的经验贴,听很多学长学姐讲述了自己的经历,感觉收获颇丰。所以希望能将自己的经历也分享下去,如果以后的学弟学妹能获得一点点帮助,那就再好不过了。 保研基础知识&#xff0…

借助ChatGPT的神奇力量,解锁AI无限可能!

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&…

1.基本概念 进入Java的世界

1.1 Java的工作方式 1.2 Java的程序结构 类存于源文件里面,方法存于类中,语句(statement)存于方法中 源文件(扩展名为.java)带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类…

win系统玩游戏出现d3dx9_43.dll错误,找不到d3dx9_43.dll的解决方法

d3dx9_43.dll 是 DirectX 中的一部分,对于许多游戏和应用程序的运行至关重要。如果丢失了这个文件,可能会导致游戏无法运行或者系统出现问题。本文将详细介绍 d3dx9_43.dll 丢失的解决方法以及 d3dx9_43.dll 是什么文件和总体属性介绍。 一、d3dx9_43.dl…

Tomcat下载安装配置

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

5.5线程同步机制类封装及线程池实现

文章目录 5.5线程同步机制类封装及线程池实现线程池线程同步机制类封装线程池实现 5.5线程同步机制类封装及线程池实现 线程池 线程池是由服务器预先创建的一组子线程,线程池中的线程数据应该与CPU数据差不多。线程池中的所有子线程都运行着相同的代码。当有新的任…

探索腾讯企业邮箱替代方案:选择适合你的新邮件服务

腾讯企业邮箱作为一款广受欢迎的企业级电子邮件服务,已经在国内市场占据了相当大的份额。然而,随着全球市场竞争的加剧,腾讯企业邮箱也面临着海外市场的挑战。本文将探讨腾讯企业邮箱出海的劣势,并推荐一些替代品牌,以…

iPhone苹果手机复制了淘宝天猫优惠券领取淘口令打开淘宝APP没有弹窗怎么办?

获得淘宝/天猫优惠券领取的淘口令后,iPhone苹果手机打开淘宝APP无法识别淘口令,没有弹窗显示淘宝/天猫优惠券领取入口。 解决办法:复制淘宝/天猫商品链接,打开手机上安装的「草柴」APP,查询该商品淘宝/天猫内部隐藏优…

Mysql 分布式序列算法

接上文 Mysql分库分表 1.分布式序列简介 在分布式系统下,怎么保证ID的生成满足以上需求? ShardingJDBC支持以上两种算法自动生成ID。这里,使用ShardingJDBC让主键ID以雪花算法进行生成,首先配置数据库,因为默认的注…

FPGA 芯片点亮标准?

芯片设计完成,给到工厂制造,封装后回来,要经过最重要的一个点亮的环节,你知道什么叫做点亮吗? 其实,什么样叫做点亮,每家公司有每家的标准,本着自已不为难自已的原则,一…

【开发篇】十三、J2cache缓存框架

文章目录 1、介绍2、二级缓存下数据的读取与更新3、整合4、使用举例5、配置的相关说明6、小结 1、介绍 J2cache是一个缓存整合框架,可以提供缓存的整合方案,使各种缓存搭配使用,自身不提供缓存功能。 J2cache是一个两次缓存的框架 第一级缓存…

2023年腾讯云双十一活动攻略整理汇总

腾讯云双十一大促活动通常会在每年的11月份进行,会提供一系列的优惠活动,包括云服务器、数据库、存储等产品的打折促销,以及代金券、满减券等福利。 活动入口: 点此直达腾讯云双十一活动页面 活动攻略: 腾讯云双十一…