《 Thinking in Java 》第四章 控制执行流程

本文深入探讨Java中的循环控制结构,包括while、do-while和for循环的使用方法及特性,解释了如何利用这些结构进行迭代,同时介绍了逗号操作符在for循环中的应用,以及foreach语法对Iterable对象的操作方式。此外,还详细解析了return、break、continue和goto等关键词的功能,以及switch语句的使用技巧。

true 和 false

Java 不允许用数字作为布尔值使用,要用条件表达式将其转换为布尔值。

迭代

while、do-while 和 for 用来控制循环,有时将他们划分为迭代语句( iteration statement )。语句重复执行,直到布尔表达式得到假的结果为止。

  • while 循环格式如下
while(Bootlean-expression)
	statement

在循环刚开始时,会计算一次布尔表达式的值;在语句的下一次迭代开始前会再计算一次。

  • do-while 格式如下
do
	statemen
while(Boolean-experssion);

while 和 do-while 唯一的区别是 do-while 中的语句至少会执行一次。

  • for 循环的格式如下
for(Initalization; Boolean-expression; step)
	statement

三个表达式都可以为空,迭代前会测试布尔表达,循环结束后,会执行一次步进。

逗号操作符

逗号操作符和逗号分隔符不同,逗号分隔符用来分割函数的不同参数, Java 里唯一用到逗号操作符的地方级是 for 循环的控制表达式。在控制表达式的初始化和步进控制部分,可以使用一系列由逗号分割的语句,而且那些语句均会独立执行。


通过逗号操作符,可以在 for 语句内定义多个变量,但是他们必须具有相同的类型。

for(int i = 1, j = i + 10; i < 5 ; i++, j = i +2;){
	statement;
}

在初始化部分实际上可以拥有任意数量的相同类型的变量定义。在一个控制表达式中,定义多个变量的能力只限于 for 循环适用。

Foreach 语法

foreach 可以用于任何 Iterable 对象。

return

在 Java 中有多个关键词表示无条件分支,只是表示这个分支无需任何测试即可发生。
包括return、break、continue

  • return

两方面的功能

  1. 指定一个方法返回什么值。
  2. 导致当前的方法退出,并返回那个值。

如果在 void 方法中没有 return 语句,那么方法的结尾处会有一个隐式的 return,因此方法中并非总是必须要有一个 return 语句。但是,如果一个方法声明它将返回 void 之外的其他东西,就必须确保每一条代码路径都返回一个值。

  • break

用于强行退出循环,不执行循环中剩余的语句

  • continue

停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。

goto

goto 是 Java 中的一个保留字,但在语言中并未使用它。
标签:后面根由冒号的标识符

label:

在 Java 中,标签起作用的唯一的地方刚好是在迭代语句之前。在标签和迭代之间置入任何语句都不好。
break 和 continue 关键词通常只中断当前循环,但若随标签一起用,就会中断循环,直到标签所在的地方。

label1:
	outer-iteration {
		inner-iteration{
		//....
		break;//(1)
		//...
		continue;//(2)
		//...
		continue label1;//(3)
		//...
		break label1;//(4)
		}
	}	

1、 2、 3、作用不再赘述,重点在 ( 4 ) ,break 跳出两层循环,到 label1 处,但并不重新进入迭代,也就是说完全终止了两个迭代。

switch

在java中switch后的表达式的类型只能为以下几种:byte、short、char、int(在 Java1.6 中是这样),在java1.7 后支持了对 string 的判断
在 java 中如果 switch 的 case 语句中少写了 break ; 这个关键字会一直执行所有 case 条件下的语句,直到遇到 break 关键字跳出或者执行到 default 语句。 case 中没有的情况会从 default 执行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值