Java中有两种做出选择的机制:if/else语句和switch语句。三目运算符也可以用于选择,但是它通常只是if/else的一个简写版本。循环。Java中有三种循环语句:for循环、while循环、do/while循环。
选择和循环语句之所以被称为控制结构,是因为我们可以用它们来控制程序流程。
if(判断条件){
//如果布尔表达式为true,就执行的语句
}
如果圆括号中的布尔表达式为true,就执行大括号中的语句。如果布尔表达式为false,那么就跳过大括号中的语句。在布尔表达式为false的情况下,控制流程将跳转到大括号之下的语句。
if...else语句结构
if(判断条件){
//如果布尔表达式为true,就执行的语句
}else{
//如果布尔表达式为false,就执行的语句
}
通过使用if/else语句,我们可以根据布尔表达式的值,确保要么是if块要么是else块被执行。
switch语句:
switch语句允许变量与多个值进行相等性检测,每个值被一个case语句语句调用和检测。一个switch语句的语法一般是如下形式:
switch(变量){
case 值;
//执行语句
break;
....
default:
//语句
break;
}
switch语句中检测的变量只能是32位或更小的整数值,也就是说只能是byte、short、int和char类型(注:JDK7.0以后,变量可以是String类型)。
在一个switch语句中可以有很多case语句。每个case后跟一个用于比较的值和一个冒号。
case后的值必须是与switch中的变量相同的数据类型,并且必须是常量或字面量。
当变量的值等于case后的值时,该case语句后的语句开始执行,直到遇到break语句。
当遇到break语句时,switch语句结束,控制流程跳转到该switch语句的下一行。
并不是所有case语句中需要包含一个break语句。如果没有break语句,控制流程继续执行到下一个case语句,直到遇到break语句。
一个switch语句可以有一个可选的default条件,一般出现在switch语句的末尾。如果所有case条件都是false,那么default条件可以用于执行某种任务。在default条件中不需要break语句。
while循环:
结构:
while(布尔表达式){
//执行语句
}
当程序流程执行到一个while循环时,首先检测布尔表达式。如果该布尔表达式为true,就执行循环体内的语句。控制流程然后又回到布尔表达式,再次检测。如果表达式还是为true,就再次执行循环体内的语句。这种处理过程一直重复,直到布尔表达式为false为止。
do/while循环
结构:
do{
//执行语句
}while(布尔表达式);
执行逻辑:
我们可以注意到布尔表达式出现在循环的尾部,所以循环中的语句在布尔表达式检测之前就执行了一次。如果布尔表达式为true,控制流程就跳回,再次执行循环体中的语句。这个过程一直重复到布尔表达式为false。
for循环:
for(初始化;布尔表达式;更新){
//执行语句
}
1) 初始化步骤首先执行,而且仅执行一次。这个步骤允许我们声明并初始化任何循环控制变量。这个部分不是必须的,可以留为空白,但是分号必须有。
2) 下一步,计算布尔表达式。如果表达式为true,循环体就被执行;如果为false,循环体就不执行,控制流程跳到for循环外的下一条语句。
3) 在for循环体执行之后,控制流程跳回更新语句。这条语句允许我们更新任何循环控制变量。该语句可以留为空白,但是在布尔表达式后必须有一个分号。
4) 布尔表达式现在再次被计算。如果表达式为true,循环执行,过程重复(先是循环体,然后是更新步骤,然后是布尔表达式)。在布尔表达式为false后,for循环终止。
break语句:可以用于任何一个循环语句,当执行到break 时候就跳出整个循环,开始执行后面的语句。
continue语句:可以用于任何一个循环语句,当执行到continue之后就跳过后面的语句重新判断循环,类似 于跳过事件。