java狂神方法
2022/5/12 9:48:47
本文主要是介绍java狂神方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、方法是什么
原子性:一种方法只能完成一个功能,这样利于后期拓展。
下面来展示一个简单的方法:
这个是比较简单的方法。
二、方法的构成
(viod表示空的意思)
具体的写法是这样的:
在看一个简单的方法:
三、方法的调用
四、方法重载
重载就是在一个类中,有相同的函数名称,但是形参不同的函数。
五、可变参数
来看例子,
其实这个例子中有许多我都不太明白,在后面的学习中应该能懂。
六、递归
递归简单来说就是数学里的 “!”举个例子:
1!=1
2!=2*1
3! =3*2*1
5!=5*4*3*2*1
...
这就是用代码的形式表达递归,可以看到在sout里面输入对应的数,方法就能计算出对应数的递归。
我们来解释一下f(4)在递归里面的演示过程:可以看到方法里面有n*f(n-1),所以输入4可以得到4*f(3),而f(3)仍然是方法里面的字符,所以f(3)仍然会走方法,得到3*f(2),以此类推...
当得到f(1)=1时,这一串数字里面就没有方法的f了,就可以一个一个往回乘了,最终就是1*2*3*4=24。在这个过程中大致可以分为这样几个阶段:
(图中是以f(5)为例,实际不影响)
一个是边界条件,就是使这个停止的一个条件,在本例中f(1)=1就是边界条件,因为当数字乘到1时就不会再出现f方法了;
一个是前阶段,可以理解为f(4)=4*f(3),f(3)=3*f(2)...这个阶段,在这个阶段的目的可以看作把所有算式中的f方法都去除,去除到没有f方法就可以进行下一阶段了;
最后一个是返回阶段,也就是4*3*2*1这个阶段,得出最后的数为24。
七、作业
这一章的作业是写一个计算器,一开始我打算用scanner实现交互,在用方法写加减乘除,然后在scanner中识别输入的符号就能调用相应的方法,但最后发现在写方法的时候无法实现类似if(num1+num2){}这样的语句,所以就g了。最后还是在网上找到了大佬码的内容,试着理解了一遍,也写出来了。在这个过程中我发现自己用scanner后不关闭,而且写switch也没有加break,导致出现穿透现象,一开始还想不明白,后面一看才知道...说明基础还是没有掌握牢固。最后打上自己写的作业:
最后实现的交互是这样子的:
方法的学习到这里就结束啦!
这篇关于java狂神方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?