java流程控制
java使用 条件语句 和 循环结构 确定控制流程。
一、块作用域
- 块: 即复合语句,是指由一对大括号括起来的若干条简单的java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。
public static void main(String args[]){
int i;
...
{
int j;
}
}
不能在嵌套的两个块中声明同名的变量。
二、条件语句
- 条件语句格式:
// if语句
if (条件) {
// 代码块
}
// if/else语句
if (条件) {
// 条件成立时执行
}else{
// 不符合条件时执行
}
// if/else if(多分支)
if (条件1) {
// 条件1成立时执行
}else if (条件2) {
// 条件2成立时执行
}
...
else{
// 上述分支都不满足时执行
}
- 条件必须用括号括起来
- 条件为真时执行代码块
- if 语句流程图
- if/else语句流程图
- if/else if(多分支)流程图
三、循环
- 当条件为true时,while循环执行一条语句(语句块)。格式为:
while(condition){
// 要执行的语句或语句块
}
- 若条件为false时,while循环体一次也不执行。
- while语句流程图
- while循环语句首先检测循环条件。因此循环体中的代码在条件不满足时是不会被执行的。如果想要循环体至少执行一次,则将条件放在最后。使用do/while循环语句,格式为:
do{
//要执行的语句或语句块
}while(condition)
这种循环语句先执行语句(通常为语句块),再检测循环条件,满足则执行下一次循环,不满足则退出循环。
- do/while语句流程图
四、确定循环
- for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。
for(int i = 0;i<10;i++){
System.out.println(i);
}
- for语句的第一部分通常用于对计数器的初始化。
- for语句的第二部分给出每次新一轮循环执行前要检测的循环条件。
- for循环的第三部分指示如何更新计数器。
- for语句流程图
提示: for语句指示while的简化形式。如果在for语句内部定义一个变量,那这个变量就不能在循环体外使用,如果希望在for循环体外使用循环计数器最终值,则要确保这个变量在循环语句的前面且在外部声明。
五、多重选择:switch
- 处理多个选项时,使用switch语句。
switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句。或者执行到switch语句的终止处。如果没有相匹配的case标签,而又default子句,则执行default子句。
switch(choice){
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
...
default:
...
break;
}
- switch语句流程图
- case标签可以是
- Ⅰ:类型为char、byte、short或int的常量表达式。
- Ⅱ:枚举常量。
- Ⅲ:从java SE 7开始,case标签可以是字符串字面量。
六、中断控制流程语句
-
break: 跳出循环
-
continue: 越过当前循环体的剩余部分,立刻跳到循环的首部。
-
return: return并不是专门用于结束循环的关键字,而是用来结束一个方法。
Ⅰ:break可以返回到指定标签语句块位置,标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。
Ⅱ:虽然return也可以结束一个循环,但是与前两个不同,他结束了整个方法,不管return藏在多少层嵌套循环里面。同时,return后面可以跟一个值,并将值返回。