目录
活动地址:CSDN21天学习挑战赛
学习继续哈
Java提供了一些流程控制语句,来控制程序的执行流程。
顺序结构(程序默认)
分支结构(if、switch)
循环结构(for、while、do……while)
如果你没有写其他的结构,按照代码的先后顺序,依次执行程序中大多数的代码都是这样执行的。
根据判定的结果(真或假)决定执行某个分支的代码
If分支有三种格式:
格式一:
- 格式1:
- if (条件表达式) {
- 语句体;
- }
执行流程:首先判断条件表达式的结果,如果为true执行语句体,为 false 就不执行语句体。
注意:if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写。
格式二:
- 格式2:
- if (条件表达式) {
- 语句体1;
- } else {
- 语句体2;
- }
执行流程:首先判断条件表达式的结果,如果为true执行语句体1,为 false 就执行语句体2。
格式三:
- 格式3:
- if (条件1) {
- 语句体1;
- } else if (条件2) {
- 语句体2;
- } else if (条件3) {
- 语句体4;
- }
- . . .
- else {
- 语句体n+1;
- }
执行流程:
也是匹配条件去执行分支, 适合做值匹配的分支选择,结构清晰,格式良好。
- switch(表达式){
- case 值1:
- 执行代码...;
- break;
- case 值2:
- 执行代码...;
- break;
- …
- case 值n-1:
- 执行代码...;
- break;
- default:
- 执行代码n;
- }
执行流程:
switch分支注意事项:
switch的穿透性
如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。
存在多个case分支的功能代码是一样时,可以用穿透性把流 程集中到同一处处理,这样可以简化代码。
控制一段代码反复执行很多次。
- 格式:
- for (初始化语句; 循环条件; 迭代语句) {
- 循环体语句(重复执行的代码);
- }
- //while循环格式
- 初始化语句;
- while (循环条件) {
- 循环体语句(被重复执行的代码);
- 迭代语句;
- }
什么时候用for循环,什么时候用while循环
功能上是完全一样的,for能解决的while也能解决,反之亦然。
使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while。
先执行再判断循环条件。
- // do while循环格式
- 初始化语句;
- do {
- 循环体语句;
- 迭代语句;
- } while (循环条件);
do-while循环的特点:一定会先执行一次循环体。
for循环 和 while循环(先判断后执行)
do...while (第一次先执行后判断)
for 和 while 的区别:
for循环和while循环的执行流程是一模一样的。
如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。
for循环中,控制循环的变量只在循环中可以使用。While循环中,控制循环的变量在循环后还可以继续使用。
一直循环的执行下去,如果没有干预不会停止下来。
- // 格式
- for(;;) {
- System.out.println("Hello World");
- }
- // 经典做法
- while(true) {
- System.out.println("Hello World");
- }
-
- do {
- System.out.println("Hello World");
- } while (true);
循环中又包含循环
嵌套循环的特点:外部循环每循环一次,内部循环全部执行完一次。
例如要打印乘法口诀表
- for(int i = 1; i <= 9; i++) {
- for(int j = 1;j <= i; j++){
- System.out.print( j + "x" + i + "=" + i*j + " ");
- }
- System.out.println("");
- }
break : 跳出并结束当前所在循环的执行。可以用在嵌套循环中跳出整个外部循环的并立即结束它。
continue: 用于跳出当前循环的当次执行,进入下一次循环。可以用在嵌套循环中跳出外部循环的当次执行,进入外部循环的下一次。
注意事项
break : 只能用于结束所在循环, 或者结束所在switch分支的执行。 continue : 只能在循环中进行使用。
今天就絮叨到这里。