分支控制语句
- if 结构:常用于“二选一”的操作,满足条件执行一个分支,不满足条件执行另一分支。
1.格式一:
if (condition) { } else { }
如果布尔表达式 condition 的值为 true,则执行语句块1即 if 后花括号 { } 内的内容; 如果布尔表达式condition 的值为false,则执行语句块2即 else 后花括号 { } 内的内容;然后跳转到 if 语句下面的语句执行。
2.格式二:
if (condition) {
}
如果布尔表达式condition的值为true,则执行 if 语句块即 if 后花括号 { } 内的内容;然后跳转到 if 语句下面的语句执行。
3.格式三:
if (condition1) { } else if (condition2) { } else { } ... if (conditionN) { } else { }
该格式是“多选一”:如果布尔表达式 condition1 的值为true,则执行该 if 语句块即 if 后花括号 { } 内的内容; 如果布尔表达式condition1 的值为false,则判断布尔表达式 condition2 的值。如果 condition2 的值为 true,执行该 if 后的语句块,如果 condition2 的值为 false,则判断下一个布尔表达式的值;如果该布尔表达式的值为 true,执行该 if 后的语句块,如果 该布尔表达式的值为 false,又判断下一个布尔表达式的值,以此类推至最后一个布尔表达式 conditionN,如果所有布尔表达式的值都为 false ,则执行最后的 else的语句块。该格式执行完某一个语句块后(即某个花括号 { } 中内容)后跳转到 if 语句下面的语句执行(该格式只执行一个语句块)。
- switch 结构:
switch (key) {
case value1:
break;
case value2:
break;
...
case valuenN:
break;
default:
break;
}
switch控制结构可是实现 多选多 或 多选一。
Java 中 Key 可以是byte、short、char、int、enum(Java 5)、String(Java 7)。该变量在使用 switch 前已定义并赋值。
case 后 value 是判断值,相当于布尔表达式 (Key==value),一旦 case 匹配(即 Key等于value),就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
break 是跳出 switch结构,执行 switch结构下语句,
default在当前switch找不到匹配的case时执行。但default并不是必须的。
循环结构
1.for循环
for (initialization;condition;incr/decr ) {
}
其中:initialization是循环变量初始化,condition是布尔表达式(即循环条件),incr/decr是对循环变量值的改变(加减乘除模)。首先先执行 initialization(只执行一次)。然后判断 condition ,为 true 则执行循环体,false 则跳出循环执行for循环下的语句,incr/decr在每次执行了循环体后执行一次。
例如:
for (int i = 0; i < 10; i++) {
}
//或者
int i;
for (i = 0; i < 10; i++) {
}
第一种的循环变量 i 只作用于 for循环内,不能在for循环外使用该变量。
第二种的循环变量 i 作用于 整个方法,并且 i 的值为最后一次判断 condition 时的值。
2.while循环
while (condition) {
}
首先判断布尔表达式 condition 的值。 如果为 true,则执行循环体内容;当 condition 为 false 时跳出循环。执行 while 下语句。
3. do while循环
do {
} while (condition);
首先执行一次循环体内容。再判断布尔表达式 condition 的值。 如果为 true,则继续执行循环体内容;当 condition 为 false 时跳出循环。执行 do while 下语句。