Java编程思想 学习笔记4

四、控制执行流程

1.true和false

  所有条件语句都利用条件表达式的真或假来决定执行路径。注意Java不允许我们将一个数字作为布尔值使用。

2.if-else

3.迭代

  while、do-whilefor来控制循环,有时会将它们划分为迭代语句。语句会重复执行,直到起控制作用的布尔表达式得到“假”的结果为止。

4.Foreach语法

  Java SE5引入了一种新的简洁的for语法用于数组和容器,表示不必创建int变量去对由访问项构成的序列进行记数,foreach将自动生成每一项。

  foreach还可以用于任何Iterable对象。

5.return   return关键词有两个方面的用途:一方面指定一个方法返回什么值,另一方面它会导致当前的方法退出,并返回那个值。

6.break和continue   break用于强行退出循环,不执行循环中剩余的语句。而continue则停止当前执行的迭代,然后退回循环起始处,开始下一次迭代。

7.臭名昭著的goto   尽管goto仍是Java中的一个保留字,但在语言中并未使用它:Java没有goto。然而,Java也能完成一些类似于跳转的操作,这与break和continue这两个关键词有关。

  标签是后面跟有冒号的标识符,就像这样: labell: 。在Java中,标签起作用的唯一的地方是在迭代语句之前。表明“刚好之前”的意思,在标签和迭代中置入任何语句都不好。而在迭代之前设置标签的唯一理由是:我们希望在其中嵌套另一个迭代或者一个开关(switch)。这是由于break和continue关键词通常只中断当前循环,但随同标签一起使用,它们就会中断循环,直到标签所在的地方:

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

  在(1)中,break中断内部迭代,回到外部迭代。在(2)中,continue使执行点移回内部迭代的起始处。在(3)中,continue labell同时中断内部迭代以及外部迭代。在(4)中,break labell也会中断所有迭代,并返回labell处,但并不重新进入迭代。也就是说,它实际是中止了两个迭代。

  ①一般的continue会退会最内层循环的开头,并继续执行。

  ②带标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环。

  ③一般的break会中断并跳出当前循环

  ④带标签的break会中断并跳出标签所指的循环。

  要记住的重点是:在Java里需要使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层嵌套中break或continue。

8.switch

  switch有时也被规划为一种选择语句。根据整数表达式的值,switch语句可以从一系列代码中选出一段去执行。

  switch语句是实现多路选择的一种干净利落的方法。但它要求使用一个选择因子,并且必须是intchar那样的整数值。

  enum可以和switch协调工作。

9.总结

  本章介绍的都是一些基础的常见知识,根据本人需求进行了适当删减,以达到学习记录的目的。标签的使用需要谨慎,以代码清晰优先。

该片讲述的是让·雷诺扮演的杀手Ruby为了被仇人杀害的情人,而走上了复仇之路。期间他遇见了有着善良的热心肠并且还有点愚蠢的Quentin,二人发生了让人啼笑皆非的一段段法式喜剧

上一篇:[Java编程思想-学习笔记]第3章 操作符


下一篇:ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机