块作用域
- 块是指由若干条Java语条语句组成的语句,并用一对大括号括起来
- 不能在嵌套的两个块中声明两个相同的变量
条件语句
if-else语句
else子句与最邻近的if构成一组
多重选择
switch语句
有可能触发多个case语句。如果在case语句的末尾没有break语句,那么会接着执行下一个case分支语句。这种情况相当危险,所以在程序中从不使用switch语句
case的标签可以是:
- 类型为chae、byte、short或int的常量表达式
- 枚举常量
- 从java7开始,case标签还可以是字符串字面量
注意:编译代码时可以考虑加上-Xlint:fallthrough
选项,如下所示:
javac:-Xlint:fallthrough Test.java
这样一来,如果某个分支缺少最后一个break语句,编译器会给出一个警告
中断控制流程的语句
带标签的break语句:用于跳出多重嵌套的循环语句
注意:标签必须放在希望跳出的最外层循环之前,并且紧跟一个冒号
Scanner in=new Scanner(System.in);
int n;
read_data:
while(. . .)
{
. . .
for(. . .)
{
System.out.print("Enter a number>=0");
n=in.nextInt();
if(n<0)
break read_data;
. . .
}
}