1.if-else
if-else 语句或许是控制程序流程最基本的形式。其中的 else 是可选的,所以可按下述两种形式来使用 if:①if(布尔表达式)
语句1
如果布尔表达式为真执行语句1否则不执行
②if(布尔表达式)
语句1
else
语句2
如果布尔表达式为真执行语句1否则执行语句2
2.while
while(布尔表达式)语句1
在循环刚开始时,会计算一次“布尔表达式”的值。若为真,则执行语句1,否则什么也不执行并结束循环,语句1执行完后,会重新计算计算一次“布尔表达式”的值,若为真,则执行语句1,循环执行直到计算出“布尔表达式”的值为假,结束循环。
3.do-while
do语句1
while(布尔表达式)
先执行一次语句1,然后剩下的操作和while循环一样。
while 和 do-while 唯一的区别就是 do-while 肯定会至少执行一次。
4.for
for 循环在第一次执行语句1之前要进行初始化。随后,它会进行条件测试,而且在每一次反复的时候,进行某种形式的“步进”。for 循环的形式如下:for(初始表达式; 布尔表达式; 步进)
语句1
无论初始表达式,布尔表达式,还是步进,都可以置空。每次执行语句1前,都要测试一下布尔表达式。若获得的结果是 false,就会结束for循环。在每次循环的末尾,会计算一次步进。
PS:只有 for 循环才具备在控制表达式里定义变量的能力。对于其他任何条件或循环语句,都不可以。
5.中断和继续
①中断(break):结束本循环,执行本循环后面的语句②继续(continue):结束本次循环,继续执行下次循环
6.标签
对 Java 来说,唯一用到标签的地方是在循环语句之前。进一步说,它实际需要紧靠在循环语句的前方——在标签和循环之间置入任何语句都是不明智的。在 Java 里唯一需要用到标签的地方就是拥有嵌套循环,而且想中断或继续多个嵌套级别的时候。
PS:“臭名昭著”的goto也会用到标签,但它几乎已经被废弃了
out://外部循环标签
for(int i=0;i<10;i++)
in://内部循环标签
for(int j=1;j<10;j++){
continue in;//结束本次内部循环,执行下次内部循环
continue out;//结束本次外部循环,执行下次外部循环
break in;//结束内部循环,执行内部循环后面的语句
break out;//结束外部循环即结束整个循环,执行外部循环后面的语句
}
}
7.switch
switch有时也被划分为一种“选择语句”。根据一个整数表达式的值, switch 语句可从一系列代码选出一段执行。它的格式如下:
switch(整数选择因子) {
case 整数值 1 : 语句; break;
case 整数值 2 : 语句; break;
case 整数值 3 : 语句; break;
case 整数值 4 : 语句; break;
case 整数值 5 : 语句; break;
//..
default: 语句;
}
其中,“整数选择因子”是一个特殊的表达式,能产生整数值。 switch 能将整数选择因子的结果与每个整数值比较。若发现相符的,就执行对应的语句。若没有发现相符的,就执行 default语句。
若每个case后面没有break,则当执行到它对应的语句后会执行下一条case对应的语句。
整数选择因子必须为整型,char,byte,short可以隐式转换成整型int。
所以整数选择因子里面可以使是int,char,byte,short。还有一种特殊情况,整数选择因子可以是枚举类。
PS:Java1.7后可以用String类控制switch语句。