一、顺序结构
代表“先执行a,再执行b”的逻辑,按照书写顺序执行每一条语句。
二、选择结构
if 单选择结构
if(布尔表达式){
语句块
} if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。 if else双选择结构
if(布尔表达式){
语句块1
}else{
语句块2
} 当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分
if else...else if多选择结构
if(布尔表达式1) {
语句块1;
} else if(布尔表达式2) {
语句块2;
}……
else if(布尔表达式n){
语句块n;
} else {
语句块n+1;
} 当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。
三、switch结构
语法结构
switch (表达式) {
case 值1:
语句序列1;
[break];
case 值2:
语句序列2;
[break];
… … … … …
[default:
默认语句;]
} 流程
switch语句会根据表达式相匹配的case标签处进行,一直执行到break语句处或者switch末尾处。如果表达式的值没有匹配case,则执行defalut语句(如果存在的情况下)
注意
当布尔表达式是等值判断的情况,可以使用if-else if-else多选择结构或者switch结构,如果布尔表达式区间判断的情况,则只能使用if-else if-else多选择结构。
witch语句中case标签必须是整数(long类型除外)或者枚举,字符串(String)。
四、while循环
语法结构
while(布尔表达式){
代码块
} 流程
若布尔表达式为true,则执行代码块,语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环
五、for循环
语法结构
for(初始表达式;布尔表达式;迭代因子){
代码块
} 流程
初始表达式作用于for循环内,不可在外部调用
无论在初始化还是在步进部分,语句都是顺序执行的。
尽管初始化部分可设置任意数量的定义,但都属于同一类型。
初始化部分、条件判断部分和迭代因子可以为空语句,但必须以“;”分开 for ( ; ; ) // 无限循环: 相当于 while(true)
多层for循环可以在前加标签,方便跳出内循环
out:for(int i=101;i<=150;i++){
for(j=2;j foreach循环(增强型for循环)
无须循环条件,无须循环迭代语句,这些部分都由系统来完成,foreach 循环自动迭代数组的每个元素,当每个元素都被迭代一次后,foreach 循环自动结束。
语法格式
for(元素类型 每次循环的元素名称 : 循环对象(数组/集合)){
} 局限性 只能用来遍历,无法在遍历过程中对数组或者集合进行修改 例:
六、break&continue语句
break用于强制退出当前循环,不执行循环中剩余的语句
continue用于跳出当前循环,不执行本次循环,执行下一次循环判定
注意
continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。
continue用在for循环中,跳到for循环的迭代因子部分。



