zoukankan      html  css  js  c++  java
  • 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,二人发生了让人啼笑皆非的一段段法式喜剧

  • 相关阅读:
    tyvj 1031 热浪 最短路
    【bzoj2005】 [Noi2010]能量采集 数学结论(gcd)
    hdu 1394 Minimum Inversion Number 逆序数/树状数组
    HDU 1698 just a hook 线段树,区间定值,求和
    ZeptoLab Code Rush 2015 C. Om Nom and Candies 暴力
    ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
    ZeptoLab Code Rush 2015 A. King of Thieves 暴力
    hdoj 5199 Gunner map
    hdoj 5198 Strange Class 水题
    vijos 1659 河蟹王国 线段树区间加、区间查询最大值
  • 原文地址:https://www.cnblogs.com/fht-litost/p/8351304.html
Copyright © 2011-2022 走看看