本文将对Java中用于控制流程的相关语法进行总结,内容包括:
- 判断语句
- 选择语句
- 循环语句
- break和continue的使用
跟其他语言一样,在Java语言中也同样存在者流程控制的语句,他们的主要做用时控制程序语句的运行顺序。在Java语言中流程控制语句可以分为判断语句、选择语句以及循环语句。
判断语句
判断语句的共同特征时,只有在满足条件的情况下才会进行,且只会运行一次。if语句
if语句主要由关系表达式以及语句体构成,其形式如下:其执行流程是:当需要执行if语句时,先会判断if里面的关系表达式是否为true,如果为true将会执行if语句的语句体,如果为false,则会直接跳过。1
2
3if(关系表达式){
语句体;
}if …else语句
if…else语句用于需要进行”二者选其一”的情况,其形式是:其执行流程是:如果关系表达式为true时,就会执行语句体1,如果关系表达式为false,则会执行语句体2。1
2
3
4
5
6if(关系表达式){
语句体1;
}
else{
语句体2;
}if …else if….else语句
if …else if….else语句用于需要进行多次判断的情况,其功能类似与switch语句,但是比switch语句更为适用。其形式如下:其执行流程时,当判断条件1为true时则执行语句体1,如果判断条件1为false,则会继续往下执行else if语句,那个首先为true则会执行相应的语句体。如果所有的判断条件都为false,则会执行else语句。1
2
3
4
5
6
7
8
9
10
11
12
13if(判断条件1){
语句体1;
}
else if(判断条件2){
语句体2;
}
...
else if(判断条件n){
语句体n;
}
else{
语句体n+1;
}
选择结构
选择结构的作用类似于判断语句,但是其执行情况会比判断语句更加明确。选择结构主要用于选择有限的情况,类似于做选择题,程序将会几个选项中选择一个执行。
选择结构使用的时switch结构。其形式如下:
1 | switch(表达式){ |
其执行流程是:switch中的表达式将会计算处一个值,然后将会找到与这个值相等的case,并执行相应的语句体,否则将会执行default中的语句体。
使用switch语句需要注意以下几个方面
- 多个case的常量值不能重复
- 其常量值只能是:byte/short/char/int/String/enum类型
- 除最后一个break可以省略外,其他break不可以省略。
其执行流程如下:
循环结构
以上的结构,程序将会至下而上依次执行,不会返回,执行第二遍。对于循环结构而言,程序将可以,重复执行n遍。
一个循环结构主要由以下几个部分构成:
- 初始化语句:在循环最开始执行,且只执行一次
- 条件判断:只有成立,才继续执行
- 循环体:执行的内容
- 步进语句:每次循环之后都要进行的一些扫尾工作(比如变量的迭代等)
for语句
for循环语句的结构如下:
1 | for(初始化表达式;布尔表达式;步进表达式) |
其中初始化表达式的作用是,将相关的变量设定一个初始状态,布尔表达式用来判断循环何时结束,步进表达式的作用是使相关变量不断向结束状态靠近。三者中初始化表达式可以放在for语句开始之前,不步进表达式可以放在for的循环体中。但是一般般不可以省略,如果设置不当将会造成无限循环。
for循环开始时会执行一次初始化表达式,这个表达式在之后的循环中将不会再执行。接着会执行布尔表达式,如果结果为true将会执行循环体语句,如果结果为false,则会结束循环,执行一次循环体语句之后,将会执行一次步进表达式。再执行布尔表达式、循环体。如此循环,直到布尔表达式结果为false。

while语句
while语句的形式如下:
1 | 初始化表达式; |
while语句再执行之间都会进行一次布尔表达式的判断,只有在布尔表达式为false的情况下才会结束循环,否则将会执行循环内容。其流程图如下:

do while语句
do while语句的的形式如下:
1 | 初始化表达式; |
do while语句与while语句的不同之处在与,无论初始条件为什么,do while语句都将会执行一次,在执行完第一次后,将会通过布尔表达式判断是否继续执行。其流程图如下:

中断流程控制语句
在java中存在着两个可以改变流程执行情况的语句,分别时break与continue。
break的作用时结束正在执行的流程,比如直接跳出循环等。而continue的作用越过后面还没有执行的部分,直接跳转到循环的首部,进行下一次的循环,例如:
1 | //将会打印12345678910 |
此外java中的break和continue还支持标签功能,可以指定跳到哪里,例如:
1 | //在j=3时,将只会跳出j的那层循环,程序的结果为: |
1 | //加了标签后当j=3时将会跳出最外面的循环,程序将只会输出1 2 |
本文链接: https://quandongli.github.io/post/1d298e9e.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
