Java复习四 — 流程控制
顺序结构
任何编程语言中最常见的程序结构就是顺序结构,顺序结构就是程序从上到下逐行执行,中间没有任何的判断和跳转.
分支结构
Java提供了两种常见的分支控制结构 —> if 语句 和 switch 语句.
if条件语句
- 第一种形式
if(logic expression){
statement;
}
- 第二种形式
if(logic expression){
statement;
}else{
statement;
}
- 第三种形式
if(logic expression){
statement;
}else if(logic expression){
statement;
}...
else{
statement;
}
if , else , else if 后的条件执行体要么是一个花括号括起来的代码块,要么是以分号作为结束符的一行语句,甚至可能是一个空语句 : 空语句就是一个分号,如果省略了if后面的执行体的花括号,则if条件只控制到紧跟该语句的第一个分号处.
switch分支语句
switch语句是由一个控制表达式和多个case标签组成,且控制表达式的数据类型必须为 byte short int char String 枚举 这几种类型.
switch(expression){
case condition1:
{
statement(s);
break;
}
case condition2:
{
statement(s);
break;
}
case condition3:
{
statement(s);
break;
}
default:
{
statement(s);
}
}
这种分支语句先对 expression 求值, 然后依次匹配 condition1, condition2, condition3… , 遇到匹配的值即执行相应的代码,如果 case 标签后的值都不与 expression 表达式的值相同,则执行default语句.
case穿透问题 :
switch('B'){
case 'A':
{
System.out.println("A");
break;
}
case 'B':
{
System.out.println("B");
}
case 'C':
{
System.out.println("C");
}
default:
{
System.out.println("Default");;
}
}
注意 : case B 与 case C 语句中没有 break 语句, 因此会输出 : B C Default
.
因为当匹配好了case之后,就不会再向下匹配case,直到遇到break语句才会终止运行.
循环结构
循环语句是满足循环条件的情况下返回执行某一段代码,这段被重复执行的代码被称为循环体.
循环语句包括四个部分 :
- 初始化条件
- 循环条件
- 循环体
- 迭代语句
while 循环
[init_statement]; //初始化条件
while(test_expression){ // test_expression为循环条件 花括号内为循环体
statement;
[iteration_statement]; //迭代语句 通常用来控制循环的结束
}
eg:
int i = 100;
while(i>0){
System.out.println(i);
i--;
}
特点 : 先判断 后循环
do while 循环
[init_statement];
do{
statement;
[iteration_statement];
}while(test_expression);
eg:
int i = 100;
do{
System.out.println(i);
i--;
}while(i > 0);
特点 : 先执行 后判断
for 循环
/*
init_statement : 初始化时可以声明多个变量,这些变量应该具有相同的数据类型.
eg: int b = 0 , s = 0, p = 0;
test_expression : 循环条件也可以包含逻辑运算符的表达式
eg: b>0 && s<0 && p>0;
*/
for([init_statement];[test_expression];[iteration_statement]){
statement;
}
执行流程 :
特点 : for循环更加的简洁, 大部分情况下, for 循环可以代替 while , do while 循环.
嵌套循环
如果把一个循环放入另一个循环中,那么可以形成循环嵌套.
可以是 for 循环 嵌套 while 循环
可以是 for 循环 嵌套 for 循环
可以是 while 循环 嵌套 while 循环
…
for(int i = 0; i <= 5; i++){
for(int j = 0; j <= 5; j++){
System.out.println("i="+i+",j="+j);
}
}
控制循环结构
break
终止整个循环,即跳出本层循环.
continue
结束本次循环,继续下次循环.
return
不是专门用来结束循环的,而是结束整个方法的.