控制语句
选择语句
if
switch
循环语句
for
while
do . . whle
转向语句
break;
continue;
return;
switch(值){
case 值1:
java语句;
java语句;
. . . . . . .
break;
case 值2:
java语句;
java语句;
. . . . . . .
break;
case 值3:
java语句;
java语句;
. . . . . . .
break;
default:
java语句;
java语句;
. . . . . . .
}
switch语句支持的值有哪些?
支持 int 类型以及 String 类型。
但 JDK8 之前不支持 String 类型,只支持 int。在 JDK8 之后,switch 语句开始支持字符串 String 类型。
switch 语句本质上是只支持 int 和String,但是 byte, short, char 也可以使用在 switch 语句当中,
因为 byte, short, char 可以进行自动类型转换。
switch 语句中“值”与“值1”、“值2”比较的时候会使用“==”进行比较。
switch语句的执行原理
拿“值”与“值1”进行比较,如果相同,则执行该分支中的java语句,然后遇到“break;”语句,
switch 语句就结束了。
如果“值”与“值1”不相等,会继续拿“值”与“值2”进行比较,如果相同,
则执行该分支中的 java 语句,然后遇到 break; 语句,switch 结束。
如果分支执行了,但是没有遇到“break;”,此时会发生 case 穿透现象。
for 循环的语法机制以及运行原理?
语法机制:
for(初始化表达式; 条件表达式; 更新表达式){
循环体; // 循环体由 java 语句构成
}
注意:
第一:初始化表达式最先执行,并且在整个循环中只执行一次。
第二:条件表达式结果必须是一个布尔类型,也就是:true 或 false
执行原理:
先执行初始化表达式,并且初始化表达式只执行 1 次。
然后判断条件表达式的结果,如果条件表达式结果为 true,则执行循环体。
循环体结束之后,执行更新表达式。更新完之后,再判断条件表达式的结果,如果还是 true,继续执行循环体。
直到更新表达式执行结束之后,再次判断条件时,条件为 false,for 循环终止。
更新表达式的作用是:控制循环的次数,换句话说,更新表达式会更新某个变量的值,
这样条件表达式的结果才有可能从 true 变成 false,从而终止 for 循环的执行,如果缺失更新表达式,很有可能会导致死循环。
for(表达式1;表达式2;表达式3)
它的执行过程如下:
do . . while 循环语句的执行原理以及语法机制:
语法机制:
do {
循环体;
} while(布尔表达式);
注意:do . . while 循环最后的时候别漏掉“分号”
执行原理:
先执行循环体当中代码,执行一次循环体之后,判断布尔表达式的结果,如果为 true,则继续执行循环体,
如果为 false 循环结束。
对于 do. . while 循环来说,循环体至少执行 1 次。循环体的执行次数是:1~n 次。
对于while循环来说,循环体执行次数是:0~n次。
int i = 0;
do{
System.out.println(i);
i++;
}while(i <10);
break;语句:
1、break;语句比较特殊,特殊在:break语句是一个单词成为一个完整的 java 语句。
另外:continue 也是这样,他俩都是一个单词成为一条语句。
2、break 翻译为折断、弄断。
3、break; 语句可以用在哪里呢?
用在两个地方,其它位置不行
第一个位置:switch 语句当中,用来终止 switch 语句的执行。
用在 switch 语句当中,防止 case 穿透现象,用来终止 switch。
第二个位置:break; 语句用在循环语句当中,用来终止循环的执行。
用在 for 当中
用在 while 当中
用在 do . . while . . 当中
4、break;语句的执行并不会让整个方法结束,break; 语句主要是用来终止离它最近的那个循环语句。
5、怎么用 break; 语句终止指定的循环呢?
第一步:你需要给循环起一个名字,例如:
a: for(){
b: for(){
}
}
第二步:终止:break a;
continue; 语句:
1、continue 翻译为:继续
2、continue 语句和 break 语句对比着学习
3、continue 语句的作用是:
终止当前“本次”循环,直接进入下一次循环继续执行。
for(){
if(){ // 当这个条件成立是,执行continue语句
continue; // 当这个 continue 执行时,continue 下面的代码不执行,直接进入下一次循环执行。
}
// 以上的 continue 一旦指向,以下代码不执行,直接执行更新表达式。
code1;
code2;
code3;
code4;
}