饥人骨java体系课

while和do-while

while(返回boolean的语句){
……//方法体
}

do{
………//方法体
}while(返回boolean的语句);

do-while至少执行一遍,while可能一遍也不执行

for循环

for (int i = 0; // 任何语句,包括空语句
i < 100; // 返回boolean的语句,包括空语句
i++) {
// 任何语句,包括空语句 System.out.println(i);
}

foreach循环

for (String s: Iterable) {
….
}
对象所在的类实现了Iterable类

改变循环的流程:break/continue

break

⽴即结束包裹当前break的第⼀层循环

• continue

跳过包裹当前continue的第⼀层循环 中的其余语句,继续下⼀次循环

• break label

lable : 标签
break label;跳出指定label的循环
goto语句演变而来,不过java没有goto语句 java中有goto关键字,用了也是报红

switch

执行一个选择

可以switch的数据类型

• int/long/char/byte/short
• enum 枚举
• String (JDK7+)

  1. int i=new Random().nextInt(5);//随机生产数字
  2. switch(i){//选择i
  3. case 0:
  4. System.out.println(i);
  5. break;
  6. case 1:
  7. System.out.println(i);
  8. break;
  9. case 2:
  10. System.out.println(i);
  11. break;
  12. case 3:
  13. System.out.println(i);
  14. break;
  15. case 4:
  16. System.out.println(i);
  17. break;
  18. default://以上所有条件都不满足执行default里的语句
  19. System.out.println(i);
  20. break;
  21. }

switch具有穿透性

如果case后面的语句是一样的,可以讲其合并

  1. char c=(char)('A'+ new Random().nextInt(5));
  2. switch (c){
  3. case 'A':
  4. case 'B':
  5. case 'C':
  6. System.out.println("ABC");
  7. break;
  8. default:
  9. System.out.println("DE");
  10. break;
  11. }

switch的作用域

变量的作用域是一个{}范围
如果要在不同的case后声明相同的变量,可以加{}

嵌套

所有的循环都可以嵌套