一、循环
while循环
先判定再循环
do while 循环
循环体最少被循环一次!
for循环
先循环再判定
二、break 和continue
break:终止此次循环,剩余的循环语句不再执行,剩余的循环次数不再执行。
continue:终止此次循环,剩余的循环语句不再执行,剩余的循环次数会继续执行。
三、多重循环(循环嵌套)
**外层循环一次,内层循环一轮!!!
任意两种循环都可以嵌套
四、方法
什么是方法:封装在一起来执行操作语句的集合,用来完成某个功能操作。
通过类名直接访问(加了static)
定义方法:
修饰符 方法返回值类型 方法名(形参列表){
方法体
return 返回值;
}
public static int add(int a, int b, int c){
int k = a + b + c;
return k;
}
返回值类型:必选,如果没有返回值,写void。方法只能返回一个值。
五、方法重载
一个类中可以定义有相同名字,但参数不同的多个方法。
调用时,会根据不同的参数表选择对应的方法。
判断依据:
同一个类
同一个方法名
不同:参数列表不同(类型,个数,顺序不同)
注意:
只有返回值不用不构成方法的重载。
只有形参的名称不同,不构成方法的重载。
方法总结:
1.定义方法可以将功能代码进行封装
2.方法只有被调用才会被执行。
3.方法的出现提高代码的复用性。
4.方法中只能调用方法,不可以在方法内部定义方法。
5.定义方法是,方法的结果应该返回给调用者去处理。
六、递归算法
程序调用自身的编程技巧称为递归。
递归结构包括两个部分:
递归结束条件。 *什么时候不调用自身方法。如果没有条件,将陷入死循环。
递归体。 //什么时候需要调用自身方法。
递归优点:
简单的程序。
递归缺点:
递归调用会占用大量的系统堆栈,内存耗用多;
在递归调用层次多时速度要比循环慢的多
递归的适用场合:
任何可用递归解决的问题也能使用迭代解决。
当递归方法可以更加自然地反映问题,并且易于理解和调试,并且不强调效率问题时,可以采用递归;
在要求高性能的情况下尽量避免使用递归,递归既花时间又耗内存。