块作用域

  • 块是指由若干条Java语条语句组成的语句,并用一对大括号括起来
  • 不能在嵌套的两个块中声明两个相同的变量

条件语句

if-else语句

else子句与最邻近的if构成一组

多重选择

switch语句

有可能触发多个case语句。如果在case语句的末尾没有break语句,那么会接着执行下一个case分支语句。这种情况相当危险,所以在程序中从不使用switch语句

case的标签可以是:

  • 类型为chae、byte、short或int的常量表达式
  • 枚举常量
  • 从java7开始,case标签还可以是字符串字面量

注意:编译代码时可以考虑加上-Xlint:fallthrough选项,如下所示:

  1. javac:-Xlint:fallthrough Test.java

这样一来,如果某个分支缺少最后一个break语句,编译器会给出一个警告

中断控制流程的语句

带标签的break语句:用于跳出多重嵌套的循环语句

注意:标签必须放在希望跳出的最外层循环之前,并且紧跟一个冒号

  1. Scanner in=new Scanner(System.in);
  2. int n;
  3. read_data:
  4. while(. . .)
  5. {
  6. . . .
  7. for(. . .)
  8. {
  9. System.out.print("Enter a number>=0");
  10. n=in.nextInt();
  11. if(n<0)
  12. break read_data;
  13. . . .
  14. }
  15. }