java程序执行的流程有顺序结构、分支结构、循环结构
1、java提供了if和 switch两种分支语句。
2、java提供了 while,do while,for三种循环语句,jdk5还提供了foreach循环,能以更简单的方式来遍历集合、数组元素。java提供了continue和break来控制程序的循环结构。
if条件语句
1、if语句使用布尔表达式或布尔值作为分支条件进行判断。
2、if语句语法为
1)if(logic expression){ 代码块 } 2)if(logic expression){ 代码块 }else{ 代码块 } 3)if(logic expression){ 代码块 } else if { 代码块 } else { 代码块 }
3、当使用 if...else语句进行流程控制时,一定不要忽略了else所带的隐含条件,else的隐含条件是2对前面的条件取反。基本规则:总是优先把包含范围小的条件放在前面处理。
switch分支语句
1、switch语句由一个控制表达式和多个case标签组成。
2、switch语句后面的控制表达式的数据类型只能是byte、short、int、char四种整数类型、枚举类型、java.lang.String类型,不能是boolean类型。
3、switch语句语法如下
switch(expression){ case condition1:{代码块;break;} case condition2:{代码块;break;} ... default:{代码块;} } 其中,case后代码块的花括号可以省略。
4、如果所有case标签后面的值与expression表达式的值不匹配,则执行default标签后的代码块。
5、case标签代码块后都有一条break语句,表示在执行该代码块后就结束,以防止再次执行下面的case代码块。
循环可能包含如下四个部分
1)初始化语句,用于完成循环前的初始化工作。2)循环条件,boolean类型的表达式,用于判断是否需要继续执行循环。3)循环体,循环的实质性动作。4)迭代语句,在一次循环结束后,改变循环条件中的变量,从而在某一个时刻让循环条件为假,从而退出循环。
当反复执行循环体时,迭代语句需要在适当的时候将循环条件改为假,从而结束循环。
while循环语句
1、while语句每次执行循环体之前,先对循环条件求值,如果为true,则运行循环体部分。
2、while语句语法如下
[init_statement]
while(test_expression) //此处无分号
{
statment;//循环体
iteration_statment;//迭代语句
}
do while循环语句
1、do while循环与while循环的区别:while循环先判断循环条件,如果为真则执行循环体,而do while循环先执行循环体,然后才判断循环条件,如果为真,则继续执行。
2、do while 语句语法如下
[init_statement]
do
{
statment;//循环体
iteration_statment;//迭代语句
}while(test_expression); //此处一定要有分号
for 循环语句
1、for语句语法如下
for(init_statment;test_expression;iteration_statement){statement}
2、while、do while语句的循环迭代语句紧跟循环体,当循环体无法不能完全执行(如使用continue结束本次循环),则循环迭代语句不会被执行(引起死循环)。而for语句的循环迭代语句与循环体分开,不管是否使用continue语句结束本次循环,循环迭代语句一样会执行。
3、不要在循环体中修改循环变量的值,否则会增加程序出错的风险,如上所示,可能引起死循环。
4、在for循环里定义的变量,则只在循环中有效。
嵌套循环的情况下,如果外层循环的循环次数为m次,内层循环的循环次数为n次,则内层的循环体实际上需要执行m*n次。
循环控制语句
java提供了continue和break语句来控制循环。
1、break语句用于强行终止循环,一旦遇到break,本层循环结束,开始执行循环后的代码。
2、break语句可以结合标签,用于结束外层循环。(在需要结束循环的前面定义一个标签 outer: ,然后break outer;既可以结束外层循环。)
3、continue语句只是忽略本次循环剩下语句,接着开始下一次循环,并不会终止循环。
4、与break类似,continue后也可以紧跟一个标签,用于直接跳过标签所标识循环的当次循环的剩下语句,重新开始下一次循环。
5、return用于结束一个方法,在java中,大部分循环都放在方法中执行,故在循环中遇到return,则方法结束返回,循环自然终止。return直接结束整个方法,不管整个return处于多少层循环中。