略写 部分
3.8 控制流程
与任何程序设计语言一样,Java使用条件语句和循环结果确定控制流程。
3.8.1 块作用域
在学习控制结构之间,需要了解块(block)的概念。
块(即复合语句)是指一对花括号括起来的若干条简单的Java语句,块确定了变量的作用域。一个块可以嵌套在另一个块中。下面就是在main方法块中嵌套另一个语句块的示例:
public static void main(String[] args){
int n;
{
int k;
}
}
但是,不能嵌套的两个块中声明同名的变量。例如下面的代码就有错误,而无法通过编译:
public static void main(String[] args){
int n;
{
int k;
int n;//ERROR--can't redefine n in inner block
}
}
3.8.2 条件语句
在Java中,条件语句的格式为
if(condition) statement
这里的条件必须用括号括起来。
与绝大多数程序设计语言一样,Java常常希望在某个条件为真时执行多条语句。在这种情况下,应该使用块语句(block statement),格式为:
{
statement1;
statement2;
}
例如:
if(yourSales >= target){
performance = "Satisfactory";
bonus = 100;
}
当 yourSales 大于或等于target时,将执行所有语句:
3.8.3 循环
当前条件为true时,while循环执行一条语句(也可以是一个代码块)。常用的格式为while(condition)Statement。
如果开始的条件值就为false,则while循环一次也不会执行
3.8.4 确定循环
for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似变量类控制迭代次数。
for(int i =0 i <=10;i++)
System.out.println(i);
注意:在循环中,检测两个浮点数是否相等需要格外小心。下面的for循环for(double x =0;x !=10;x+=0.1)可能永远不会结束。由于舍入的误差,最终可能得不到精确值。
3.8.5多重选择:switch语句
switch(choice){
case 1:break;
case 2:break;
default: break;
}
switch语句将从与选项值相匹配的case标签处开始执行直至遇到break语句,或者执行到switch语句的结束处为止。如果没有相匹配的case标签,而有default子句,就执行这个子句。
3.8.6 中断控制流语句
break:跳转到带标签的语句末尾块。
continue:跳转与标签匹配的循环首部。