1)Java使用了C的所有控制流程语句,在Java中涉及的关键字包括 if-else、 while、 do-while、 for、 return、 break 以及选择语句switch,Java不支持goto语句。
4.1 true和false
1)所有条件语句都利用条件表达式的真或假来决定执行的路径。
2)Java不允许将一个数字作为布尔值使用,虽然这在C或C++中是允许的(“真”是非零,“假”是零)。
4.2 if-else
1)if-else 是控制程序流程最基本的形势,其中else是可选的,下面是例子:
//第一种形式
if(boolean-expression)
statement
//第二种形式
if(boolean-expression)
statement
else
statement
4.3 迭代
1)while、do-while和for用来控制循环,有时将他们划分为迭代语句,语句会重复执行,直到起控制作用的布尔表达式得到“假”的结果为止。例子:
//while循环的格式
while(boolean-expression)
statement
//do-while的格式
do
statement
while(boolean-statement)
//for循环的格式
for(initialzation; boolean-expression; step)
statement
2)while和do-while唯一的区别就是do-while中的语句至少会执行一次,即使表达式第一次就被计算为false,而在while循环结构中如果条件第一次就为false,那么其中的语句根本就不会被执行。
3)for循环可能是最常用的迭代形式,初始化表达式(initialzation),布尔表达式( boolean-expression)或者步进表达式(step)都可以为空。
4)Java中唯一使用到逗号操作符的地方就是for循环的空值表达式,在控制表达式的初始化和步进控制部分可以使用一系列由逗号分隔的语句,而且这些语句均会独立运行。通过使用逗号操作符可以在for语句内定义多个变量,但他们必须具有相同的类型。
例子:
for(int i = 1, j = i + 10; i < 5; i++, j=i*2){
System.out.println("i = " + i + " j = " + j);
}
4.4 Foreach 语法
1)Java SE5引入了一种新的更加简洁的for语法用于数组和容器,即foreach语法,表示不必创建int变量去对由访问想构成的序列进行计数,foreach将自动产生每一项。语法:
for(某一类型 临时名称 : 某一类型的数组或集合){
表达式
}
4.5 return
1)Java中有多个关键字表示无条件分治,他们只是表示这个分支无需任何测试即可发生,这些关键词包括return、break、continue和一种与其他语言中的goto类似的跳转到标号语句的方式。
2)return关键词有两方面的用途:一方面制定一个方法返回什么值(假设它没有void返回值),另一方面它会导致当前的方法推出,并返回那个值。
4.6 break和continue
1)在任何迭代语句的主体部分,都可用break和continue空值循环的流程,其中break用于强行退出循环,不执行剩余呃语句,而continue则停止执行当前的迭代,然后退回到循环起始处,开始下一次迭代。
4.7 臭名昭著的goto
1)Java没有goto,但是goto是Java的保留字。
2)Java在循环的起始处使用标签来实现类似于goto跳转到指定位置的功能。
4.8 switch
1)switch有时也被划归为一种选择语句,表示根据表达式的值,switch语句可以从一系列代码中选出一段去执行。
注:switch(expr)中,expr只能是byte、short、char、int,expr也可以是enum类型或是字符串(String)
2)每一个case均以一个break结尾,这样可使执行流程跳转到switch主题的末尾,如果省略break会继续执行后面case的语句直到遇到一个break为止。
3)default是在所有呃case都不满足的情况下被执行的语句。