流程控制
文章目录
一、块作用域
- 块
block
的概念:块(即复合语句)是指由一对大括号括起来的若干条简单 Java 语句。块确定了变量的作用域。 - 不能在嵌套的两个块中声明同名的变量(C++ 中,可以在嵌套的块中重定义一个变量。在内层定义的变量会覆盖在外层定义的变量。这样,有可能会导致程序设计错误,因此在 Java 中不允许这样做)
二、条件语句
Java中条件语句的格式:
1.单分支 if 语句
if (condition)
statement;
2.双分支 if-else 语句
if (condition)
statement1;
else
statement2;
3.嵌套 if 语句
if (condition1) {
if (condition2)
statement1;
else
statement2;
}
else {
if (condition3)
statement3;
else
statement4;
}
4.多分支 if-else if 语句
if (condition)
statement1;
else if
statement2;
else
statement3;
5.switch 语句
switch (switch 表达式){
case 值 1:
语句(组)1;
break;
case 值 2:
语句(组)2;
break;
...
case 值 N:
语句(组)n;
break;
default:默认情况下执行的语句(组)
}
- switch 语句遵从下述规则:
- ① switch 表达式必须能计算出一个 char、byte、short,int 或者 String 型值,并且必须总是要用括号括住。
- ② valuel,…,valueN 必须与 switch 表达式的值具有相同的数据类型。注 意:valuel, valueN 都是常量表达式,也就是说这里的表达式是不能包含变量的,例如,不允许出现 1+X。
- ③ 当 switch 表达式的值与 case 语句的值相匹配时,执行从该 case 开始的语句,直到遇到一个 break 语句或到达该 switch 语句的结束。
- ④ 默认情况(default)是可选的,当没有一个给出的 case 与 switch 表达式匹配时,用来执行该操作。
- ⑤ 关键字 break 是可选的。break 语句会立即终止 switch 语句。
三、循环语句
1.while循环
-
while循环格式
while( 循环继续条件) { 循环体; 语句 (组); }
-
while循环流程图
2.do-while循环
-
do-while循环语句格式
do { 循环体 ; 语句(组 ); } while ( 循环继续条件);
-
do-while循环流程图
3.for循环
- for循环语句格式:
for (初始操作;循继续条件;每次迭代后的操作){
循环体;
语句(组);
}
-
for循环流程图
-
for each循环
Java 种功能很强的循环结构,可以用来依次处理数组中的每个元素(其他类型的元素集合亦可)而不必为指定下标值而分心。
增强的 for 循环的语句格式:
for (variable : collection) { statement }
variable
定义一个变量用于暂存集合中的每一个元素,并执行相应的语句。- collection集合表达式必须是一个数组或者是一个实现了
Iterable
接口的 类对象
4.关键字 break 和 continue
关键字 break
和 continue
在循环中提供了額外的控制。
-
continue:当程序遇到 continue 时,它会结束当前的迭代。程序控制转向该循环体的末尾。continue 只是跳出了一次迭代。
continue 语句总是在一个循环内。在 while 和 do-while 循环中,continue 语句之后会马上计算循环继续条件;而在 for 循环中,continue 语句之后会立即先执行每次迭代后的动作,再计算循环继续条件。
-
break:在一个循环中使用 break 立即终止该循环.
Java 还提供了一种带 break 语句,用于跳出多重嵌套的循环语句.请注意,标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。
flag: while (condition1){ while(condition2){ ... break flag; } }
尽管 Java 的设计者将
goto
作为保留字, 但实际上并没有打算在语言中使用它 通常使用 goto 语句被认为是一种拙劣的程序设计风格