控制流程主要有2大类,判断和循环。
其中判断是最为重要的核心,是所有编程语言都必须的东西,也是所有逻辑的实现。
if判断语句
If判断语句是单一判断,看if(判断){内容} 里面的判断是否是正确,如果判断正确,则运行内容,如果不正确,则不运行内容。
具体一点if主要有3种使用fangs
If(判断){内容} 仅看判断结果,且控制内容运行与否
If(判断){内判断容1}
else {内容2}
看判断结果,如果判断结果正确运行内容1,如果错误,则运行内容2
If(判断1){内容1}
else If(判断2){内容2}
else
看判断1结果,正确则运行内容1,不然则看判断2,以此类推。
其核心都是看判断结果,然后决定是否运行该内容。
机器是识别用户的操作的,判断的实质就是,判断当前的情况,即用户的预期,然后根据预期做应该做的事情。所以,内容和判断是紧密挂钩,二位一体。在实际写代码的时候,判断的参数和内容是同时被构思出来的。
Switch case,是一种多参数的判断,与if....else if...else if 使用相同,但是代码更为简洁和易读,所以另一方面,当出现多个else if的时候,就应该换用switch了
Switch(参数){
Case:参数1:{
内容
break
}
Case:参数2:{
内容
break
}
Case:参数3:{
内容
break
}
Default{
}
}
这里就是判断传入的参数,对应的是参数1,参数2或参数3,根据不同的传入参数,选择不同的内容来实现,呈现多种参数的同时判断,其实质,也就是if...else if...else if...
循环是将某个行为反复做,目的是使某种重复的事情,快速迭代完成。比如,1+2+。。+100。那么这个加法共要加100次,而其本质是重复的工作,我们不愿意手动去写那么多次加号,那么就应当借助循环完成。虽然在代码上简洁了,但实际上,他依然运行了那么多次,对于CPU而言,并没有区别。
最基本的循环是
While(判断){
内容
}
当判断是正确的时候,就运行内容,内容运行完,再次判断。 那么,注意的是,用于判断的参数必须在内容中有所改变,且判断的参数一定要有错误的时候,这样才能终止循环。
它的变形是Do {
内容
} while{判断}
这里的区别是,第一次内容先运行还是,先判断。这两种情况,有以上完成。使用while循环,一般是对于循环次数并不能确定的情况下,也就是,我们不能简单预估运算结果的时候,比如,1+2+。。+一直加到,结果大于10万的时候,就不加了,那么这种情况,我们无法预估,就使用while模式。
另外一种循环,则是for循环, for循环最常用的用法是for(int i;i<n;i++){内容}
N是我们自己设定的这种情况往往是针对我们知道要循环多少次,而因为操作重复,而使用的循环。其中最常见的就是遍历循环,而这种情况,一般要求,i不能在for的内容中赋值,以避免一直无法走出来。
使用循环需要注意防止死循环的产生,在实际运用中,明白为什么使用循环,考虑极限情况,是防止死循环的最佳方法。
遍历还有一种是for(object A : AS){
涉及A的内容。
}
AS是集合或者数组,A表示AS中的每个元素。对于AS整个数组或者集合进行批量处理,用这种方法,可以不了解AS的个数情况下,完成批量处理。
循环的常见目的就是快速处理相对重复的内容。
循环中的两个特殊方法,continue和break
Continue是中断这一次循环中的操作,但是循环依然继续,
而break这是彻底跳出本次循环。
循环是批量操作,是对一大堆数据进行操作,这些数据,一般情况,可以按某种条件分类,不同的分类会进行不同的操作,continue的用法一般是,发现某些数据不符合,或者符合某个条件的时候,就不进行处理了,就直接continue。这种用法与方法中,在方法一开始,进行某个判断,如果判断生效则直接return是一样的。
Break在循环中使用非常少,主要还是用在swtich中。
嵌套循环,是一个循环中有另一个循环,嵌套循环往往都是for循环嵌套。而嵌套的目的常见用作记录循环次数,或者需要使用的ij参数,有两个或者多个,这种情况下,往往就需要嵌套。
For循环嵌套,使用时,逻辑有这个需要,自然就会使用嵌套。