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位或更小的整数值,也就是说只能是byteshortintchar类型(注: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之后就跳过后面的语句重新判断循环,类似 于跳过事件。