程序结构
顺序结构
按照书写顺序执行的语句构成的程序段
选择结构
条件语句
if条件语句
单if语句:
if(布尔表达式){ //若true,执行花括号内语句,若false,跳过语句块
语句;
}
if...else语句:
if(布尔表达式){ //若true, 执行语句1; 若false, 执行语句2.
语句1;
}else{
语句2;
}
if...else if语句:
if(布尔表达式1){ //若true, 执行语句1; 若false, 判断布尔表达式2
语句1;
}else if(布尔表达式2){ //若true, 执行语句2; 若false, 判断下一个if
语句2;
}
...
else if(布尔表达式n){
语句n;
}
if嵌套:
if(布尔表达式1){ //内层if语句是外层if语句的语句块的一部分
if(布尔表达式2){
语句1;
}
语句2;
}
- if 后若只有一条语句,可以省略 “{}” ,但不建议省略
- else 不能单独使用,必须和关键字 if 一起出现
- if...else... 语句可以用三元运算符简化使代码简介
- 使用 boolean 变量作为判断条件,必须规范书写为:if(a)或者if(!a)
- if 用于范围性判断
Switch多分支语句
switch(用于判断的参数){
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;
case 常量表达式3: 语句3; //穿透
case 常量表达式4: 语句4;break;
case 常量表达式5: 语句5;breal;
default:
}
- 用于判断的参数必须是整型、字符型、字符串类型(jdk 1.7+)、枚举类型
- break 的作用是跳出整个 switch 语句
- 穿透:若参数的值和某个常量表达式相同,则执行该 case 后的语句,直到遇到 break 语句为止,否则会直接执行其后所有语句直至结束 switch
- default 后的语句作为默认执行语句,如果无常量表达式与参数相同,则作默认执行处理
- case 后常量表达式必须不相同
循环结构
循环语句
while
while(条件表达式){
执行语句;
}
do...while
do{
执行语句;
}while(条件表达式);
while:判断条件置于循环体前,若 false 则一次也不执行;
do...while:判断条件置于循环体后,至少执行一次。
for循环
for(初始化语句A;判断条件语句B;控制条件语句D){
循环体语句C;
}
-
执行初始化语句A
-
判断条件语句B,若为真,则执行循环体语句C,若假,则结束循环
-
执行循环体语句C
-
执行控制条件语句D
-
返回 2 继续执行
无限循环
for( ; ; ){
...
...
if(...)
break;
...
}
foreach语句
用于遍历数组等方面
for(循环变量 x : 遍历对象 obj){
引用 x 的语句;
}
循环嵌套
for、while、do...while循环可以相互嵌套
分为内层循环与外层循环,可解决二维、多维问题
跳转语句
break语句
break可以跳出switch结构,于循环体中,break可跳出循环结构
循环嵌套的情况下,break语句将只会跳出所包含它的最内层循环结构,只跳出一层循环
跳出外层循环:
“标签”功能,使带有标签的break可以跳出指定的循环
标签名:循环体{
循环体{
break 标签名;
}
}
continue语句
break只对循环体生效,并非立即跳出循环体,而是跳过本次循环结束前的语句,重新执行循环。
与break一样,continue可以使用标签功能