第五天 方法(method)和重载(overload)
1.特殊流程控制语句
(1)break
break作用:中断循环或switch或语句;中断的是距离break最近的循环。
带标签的break:跟着标签走就完了,break哪个标签就中断哪个循环。
(2)continue
continue作用:中断当次循环,继续执行下一次的循环;中断的是距离continue最近的当次循环。
带标签的continue:跟着标签走就完了,continue哪个标签就中断哪个循环的当次循环。
【练习】
(1)使用break求100以内的所有质数;
(2)接收一个n,使得本来应该循环100次的循环,实际让它循环n次;
(3)打印100以内的奇数(使用continue)(难点);
(4)使用带标签的continue打印100以内的所有质数。
2.方法
(1)声明
方法 : 是类或对象的行为, 功能的封装, 是为了完成某种功能的.
注意点 : 方法只能定义在类中, 并且不可以和其他方法嵌套!!!
声明格式:
修饰符 返回值类型 方法名(数据类型1 形参1, 数据类型2 形参2, …) {
语句块;
return 返回值;
}
说明 :
返回值类型 : 方法的功能的最后的结果的数据类型, 如果方法没有返回值 就使用void
方法名 : 标识符
形式参数 : 方法中需要一些数据, 具体的数据是多少不知道, 但是具体数据是多少对功能 没有影响.
返回值 : 方法的成果产品, 最后交给使用者. 如果方法没有返回值, 在最后可以省略return
实际参数 : 在使用者使用这个方法时真的传递的数据.
方法 = 方法签名(方法的使用说明书API) + 方法体(实际执行的代码)
(2)调用
方法只有被调用才会被执行
方法调用语句 : 方法名(实参1, 实参2, …);
方法调用完成后的返回值接收
方法调用本身就可以看作是返回值, 所以可以直接使用变量接收返回值
返回值类型 变量名 = 方法调用;
【练习】
(1)定义一个TestMethod类,在主方法main中调用method方法,打印输出20*8矩形;
(2)打印矩形周长
3.重载
在同一个类中,方法名相同,参数列表不同(参数不同),就叫重载。
参数列表不同的体现:参数个数不同,参数类型不同,参数顺序不同。
注意:方法重载和返回值类型无关,重载的方法的功能通常相似。
重载的好处:便于调用者使用,只需要记住一个方法名即可。
4.参数传递分析
实参 ————————》形参
注意:实参只给形参传递的是实参的副本,不会影响形参。
5.进行统一性,连环调
比如:打印一个特殊的矩形:正方形
【练习】使用方法来打印正方形和矩形
6.分析方法的调用执行过程
方法的执行过程就相当于一个栈:先进后出,返回值存储在临时内存空间中。
7.递归(方法调用自身)
(1)无限递归—>栈溢出—>java.lang.StackOverloadError
【练习】使用递归打印5的阶乘
(2)应用场景:一个问题可以分解相同类型的子问题。
8.分析双重递归
9.跨类调用方法
使用“.”