java入门 方法(第二周)

本文介绍了方法的定义、使用、常见问题以及Java中的参数传递机制。包括方法的格式、设计技巧、调用原理,还重点讲解了基础和引用类型参数传递的区别,以及方法重载的概念和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

方法的其他形式

方法使用时的常见问题

方法的案例

方法在计算机中的执行原理 

java 的参数传递机制

方法重载


方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用。

格式16c7ac8ef4fe4982a8dae7a89475309c.png

 eg.160b1e4cded941e7b52b08dece547495.png

 (执行)方法必须调用才可以跑起来,调用格式:方法名(…);

47865247eafe4eee848809acf63f84fa.png

 方法定义时几个注意点:

    方法修饰符:暂时都是用public static修饰

    方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据。

    形参列表可以有多个,甚至可以没有;如果有多个形参,多个形参必须用“,”隔开,且不能给初始化值

使用方法可以提前代码的复用性,提高开发效率,使程序逻辑更加清晰

方法的其他形式

方法定义是需要按照方法解决的实际业务需求,来设计合理的方法形式解决问题

  • 1.方法是否需要接受数据处理?

需要:需要形参列表接受数据

不需要:不应该设计形参列表

  • 2.方法是否需要返回数据

返回数据:返回值类型必须是返回

值数据的类型

不返回数据:返回值类型不应该填具体的数据类型,方法内部不能够return数据回来

ad32562437674769bc405119d3b21d28.png

921eb4cf33d1487f9380357b03e12562.png

 注意事项

  • 如果方法不需要返回数据,返回值类型必须申明成void(无返回值类型),此时方法内部不可以使用return返回数据
  • 方法如果不需要接收数据,则不需要定义形参,且调用方法是也不可以传数据给方法了
  • 没有参数,且没有返回值类型(void)申明的方法称为无参数无返回值的方法

方法使用时的常见问题

  1. 方法在类中的位置放前放后无所谓,但一个方法不可以定义在另一个方法里面。
  2. 方法的返回值类型写void(无返回申明)时,方法内不能使用return返回数据,如果方法的返回值类型写了具体的类型,方法内部则必须使用return返回对应类型的数据。
  3. return语句的下面,不能编写代码,属于无效代码,执行不到这儿。
  4. 方法不调用就不会执行,调用方法时,传给方法的数据必须严格匹配方法的参数情况。
  5. 调用有返回值的方法有三种方式:1、赋值调用:定义变量接收结果2、输出调用:放在输出语句中调用3、直接调用:方法还是会执行,只是返回的结果不要了
  6. 调用无返回值的方法只有一种方式:直接调用。

d6cae12d1c8c4ab588bf9e5b53f22f58.jpeg

方法的案例

设计方法的技巧

  • 方法是否需要接收数据进行处理(是否需要定义形参列表)
  • 方法是否需要返回数据(是否需要声明具体的返回值类型)
  • 方法要处理的业务

0584f1aeb8ab458fb73657ba947475b1.jpeg

 案例:

  • 计算1-n的和
  • 00837c2d58444c5a866facd82931e0cf.jpeg
  • ceb411eec9364c649b1f6c19019531ca.jpeg6b65f0b6dbea4a0e99cdcd00a7580872.jpeg
  •  判断一个整数是奇数还是偶数

bd35e689c3b6452198e65dade880c1c0.jpeg30cf947375e6484da88d4a730fc5c1a0.jpeg

1b7d8b5bc77240179a07a03bb5849e9c.jpeg

方法在计算机中的执行原理 

方法被调用的时候是进入到栈内存中被运行(方法的运行区域是栈内存)

栈的特点是先进后出

方法在栈中运行是为了保证一个方法调用完另一个方法后,可以回来

1ebf43f4aa6a4b9db93da64e5f8e167e.png

 ca6996c916c44e7c8d96487d8130a052.png

 流程

先在栈内存中执行main方法,调study方法,所以把study方法放在上面,执行study方法,调eat方法,所以把eat方法放在上面,执行eat方法,输出吃饭,eat方法就执行完了,从栈里清理掉,回到study方法,继续执行下一行代码输出学习,继续往下走,调sleep方法,所以把sleep方法提到栈里运行,放在上面,输出睡觉,sleep方法执行完从栈里清理掉,study方法也执行完了所以清理掉,回到了main方法,main方法也执行完清理掉了,整个程序就执行完了

java 的参数传递机制

  • 基础类型的参数传递:传输存储的数据值
  • 引用类型的参数传递:传输存储的地址值

java的参数传递机制都是值传递

  • 值传递:指的是在方法重载传输实参给方法的形参的时候,传输的是实参变量中存储的值的副本
  • 实参:在方法内部定义的变量
  • 形参:定义方法时“(…)”中所声明的参数

33db0f40dffc4b49ac5a5cb609aa4028.png

 8fe5e660f1de4ad685a4579bc74762f9.png

 9ed334fbe5284b30ac5871f7284ae78b.png

 f4137b0f05634c048b528b65614e07d5.png

 案例

f070aca9ced34f47be5f70d56d38174e.png

15502f8fb1fa49178e588883308be971.png8c9ba8b0046648dc8ce5e4edde7bce59.png 

4df64fba36cc4956982d86a3c640d76d.png

方法重载


一个类中,只要一些方法的名称相同,形参列表不同,那么它们就是方法重载了,其他的都不管(如,修饰符,返回值类型是否一样都无所谓)

形参列表不同指的是形参的类型、个数、顺序不同,不关心形参的名称

方法重载应用场景:

开发中需要为处理一类业务,提供多种解决方案,此时用方法重载

2d0a7d1dd4114cd2946c9ade03e24dc5.png

89fee23381be43a2ab2ac5237a1417b1.png

 跳转关键字

  • return关键字在方法中要单独使用;可以用在无返回值的方法中,作用是立即跳出并结束当前方法的执行
  • break关键字:跳出并结束当前所在循环的执行
  • contine关键字:结束当前所在循环的当次继续,进入下一次执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

neoxyf2005

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值