ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java狂神方法

2022-05-11 23:33:50  阅读:250  来源: 互联网

标签:... java scanner 递归 一个 阶段 狂神 方法


一、方法是什么

原子性:一种方法只能完成一个功能,这样利于后期拓展。

下面来展示一个简单的方法:

这个是比较简单的方法。

二、方法的构成

 

 

(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,scanner,递归,一个,阶段,狂神,方法
来源: https://www.cnblogs.com/p-otato/p/16260443.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有