JAVA流程控制学习总结

1、块作用域语句(复合语句)

即用一对花括号将若干语句括起来,目的是从语法上将多条语句解释为一条语句。

这里要注意一点,java语言中块作用域语句可以嵌套,但不可以在嵌套的两层中声明同名的变量。

举个错误的例子:

{

int c;

{

int c;

}

}

这个例子似乎也太简单了。

2、分支流程控制语句

if-then语句

if(前提条件) 语句;

满足前提条件则执行语句,这是最简单的流程控制语句之一了。主义的一点事“前提条件”的结果必须为boolean型。true则执行。

if-then-else语句

if-then-else语句可以说是对if-then语句的一个扩展。

if-then语句规定在满足前提条件的情况下执行某些操作,但若不满足呢?else在这里就体现了它的作用了。

格式:if(前提条件) 语句1 ; else 语句2;

说明:满足前提条件(true)则执行语句1,否则执行语句2.

switch语句

switch语句是一种具有处理多分支能力的流程控制语句。

switch(表达式){

case 值1 :语句1;

case 值12 :语句2;

……

[default:语句n;]

}

其中,要注意的一点是表达式的值必须是int型。值1,值2……必须为整型直接量或整型常量,并且相互之间不能相同。

switch语句的执行过程是:首先计算表达式的值,再与每个case后面的值作比较,若相同,则执行这个case后面的语句,知道遇到break或switch语句结束。若与所有的case后面的值比较厚仍然没有相等的选项,则执行default后面的语句。

3、循环流程控制语句

while语句

格式:while(循环条件) 语句;

执行过程:判断循环条件,为true则执行语句,再回来判断循环条件……知道循环条件为false。因此,循环条件的结果必须为boolean值。

注意:在c语言中我们常用while(1){语句;}来无条件执行某一语句,而在java中这种语句是错误的,鞋城while(true)则可以执行。

do-while语句

格式:do{语句序列}while(循环条件);

执行过程:执行循环体(语句序列),随后判断“循环条件”,为true则继续循环,为false则跳出。股此处循环条件结果依然为boolean值。而循环体至少执行了一次。

for语句

格式:for(初始化表达式;检测表达式;更新表达式)语句;

执行过程:“初始化表达式”是for语句第一个执行且只执行一次的语句。检测表达式必须是boolean型,用于 决定是否继续循环,更新表达式在每次循环体执行完毕后自动执行。

例:

for(int i = 1 , sum = 0 ; i <= 100 ; i++)

{

sum = sum + i;

}

以上程序段是计算1+2+3...+100的值,并存储在sum中。

4、中断流程控制语句

Java中,中断流程控制语句主要包括break,continute和return。

break语句

break可以用在switch\while\do...while\for语句中,它包含两种:带标签的break语句和不带标签的break语句。

不带标签的break语句:通常出现在switch中。

格式:break;

带标签的break语句:

格式:break 语句标签;

有点类似c语言中的goto。这种格式的break语句用于跳出多层嵌套的循环语句,跳至标签处。

例:

for(;;)

{

break outside;

}

outside:

...

continue语句

continue语句也包括带标签、不带标签两种。continue语句与break语句最大的区别是,break语句是跳出循环,而continue语句是提前结束此次循环,提早进入下次循环。

而带标签的continue语句则可以实现从内层循环跳至外层循环,并直接执行外层循环的下一次循环。

return语句

格式一:return;(只能用于返回类型为void的成员方法)

格式二:return 表达式;

return语句可以终止成员方法的执行并返回至调用这个成员方法的位置。如果这个成员方法需要返回值,将通过return带出。

注意:一个成员方法中可以有多个return,但必须保证每种情况下都有一个return语句被执行。return带回返回值后,如果没有立即使用或保存起来,将自动丢弃。