switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; ... default 语句体n; break; } 执行流程: 1.拿着()中将要匹配的值,跟case给出的选项逐一匹配,匹配成功执行对应的语句体, 再由break结束掉整个switch。 2.如果所给出的case 都匹配失败了,就会执行最后的default语句。 注意事项: 1.case后面的值不允许重复 2.case后面的值只能是常量,不能是变量 3.如果switch语句中,省略了break语句,将开启case穿透现象 就是说当与case 的值匹配成功后,他执行完本行case的语句体后他会继续执行下一行的case 中的语句体, 直到遇到break或者下面的语句体全部执行完才会结束。
格式
for(初始化语句; 判断条件; 条件控制语句){ 循环体语句; }
执行流程
1.执行初始化语句,处死话语句再整个循环中只执行一次
2.执行判断条件,看其返回结果是 true,false
fasle:循环直接结束
true:进入第三步
3.执行循环体
4.执行条件控制语句
5.返回到2继续
注意事项:
格式
初始化语句; while(判断条件){ 循环体语句; 条件控制语句; }
执行流程
1. 执行初始化语句, 初始化语句在整个循环中只执行一次 2. 执行判断条件, 看其返回结果是true, false - false : 循环直接结束 - true : 进入第三步了 3. 执行循环体语句 4. 执行条件控制语句 5. 回到2继续.
格式
初始化语句; do { 循环体语句; 条件控制语句; }while(判断条件);
执行流程
执行初始化语句
执行循环体语句
执行条件控制语句
执行判断条件, 看其返回结果是true, false
false, 循环结束
true ,回到2继续.
特点: 无论判断条件是否满足, 都至少会执行一次循环体.
(for, while) 和 (do...while) 区别: for循环和while循环, 先判断, 后执行. do...while循环, 先执行, 后判断. for : 内部控制循环的变量, 因为归属于for循环的语法结构, 在循环结束后, 就无法使用. for(int i = 1; i <= 10; i++){ } System.out.println(i); // 编译错误 while : 内部控制循环的变量, 不归属于while循环的语法结构, 在循环结束后, 可以继续使用. int i = 1; while(i <= 10){ i++; } System.out.println(i); // 没有错误
注意 : 其实for循环和while循环本质来讲没什么区别
int i = 1; for(; i <= 10; i++){ } System.out.println(i);
结论
for 循环能够实现的需求, while都能实现
while 循环能够实现的需求, for也都能实现.
break : 可以结束循环, 也可以结束switch语句.
注意 : 只能在循环和switch语句当中进行使用.
continue : 可以跳过某次循环, 继续下一次循环
注意 : 只能在循环当中进行使用.
注意事项 :
如果涉及到了循环的嵌套, break 和 continue 只能操作自己所在的那一层循环
想要操作指定层的话, 可以使用循环标号.
public class LoopDemo2 { // 标号 public static void main(String[] args) { lo: for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 3; j++) { if (j == 2) { break lo; } System.out.println("HelloWorld"); } } }
for(;;){} while(true){ } do{ }while(true);
无限循环当中, 如果没有break语句, 下面的代码是不能执行的.
使用场景 :
如果不明确循环次数, 可以使用无限循环.
找符咒 (导包)
import java.util.Random;
召唤精灵 (创建对象)
Random r = new Random();
指挥精灵干活 (调用对象的方法)
int num = r.nextInt(10); // 0~9