zoukankan      html  css  js  c++  java
  • 四、控制执行流程

    Java的控制语句设计的关键字有if-else while do-while for return break和switch。

      Java虽然保留goto关键字,但不支持goto语句。

     

    1.true和false

      所有条件语句都利用条件表达式的真或假来决定执行路径。

      Java不允许使用数字作为布尔值使用。

      如果想在布尔测试中使用一个非布尔值,如if(a),那么首先必须使用一个条件表达式将其转换成布尔值,如if(a!=0)。

    2.if-else语句

      else是可选的。

      格式:

    复制代码
    if(Boolean-expression)  
        statement
    或
    if(Boolean-expression) //Boolean-expression为真,执行statement1,否则执行statement2
        statement1                 
    else
        statement2
    
    //当然也可以嵌套
    if(Boolean-expression1)
      statement1
    else if(Boolean-expression2)
      statement2
    else
      statement3
    复制代码

      注意,上面的Boolean-expression必须产生一个布尔结果。

    3.迭代

    1)while

    while(Boolean-expression) //Boolean-expression为真,执行statement
        statement

    2)do-while

    do
        statement
    while(Boolean-expression) //Boolean-expression为真,执行statement

      与while唯一区别在于do-while中的语句至少会执行一次。

    3)for

    for(initialization; Boolean-expression; step)
        statement

      for语句中,先执行initialization语句,然后判断Boolean-expression结果是否为true,为真则执行statement,接下来会执行step,再次对Boolean-expression结果进行判断,如此循环,直到Boolean-expression结果为false。

      for中的initialization和step可以是逗号表达式,这也是Java唯一用到逗号操作符的地方。此外,在initialization部分可以对多个同类型的变量进行定义。

    4.foreach语法

      foreach可以让我们在不必创建int变量来对访问项构成的序列进行计数,它可以自动产生这一项。如下例:

    复制代码
    import java.util.*
    
    public class ForEachFloat{
      public static void main(String[] args){
            Random rand = new Random(47);
            float f[] = new float[10];
            for(int i = 0; i < 10; i++)
               f[i] = rand.nextFloat();
            for(float x:f)
               System.out.println(x);          
        }  
    }
    复制代码

      结果如下,for(float x:f)定义了一个float类型的变量x,并将数组f的每个元素一次赋给x。

      任何返回一个数组的方法都可以使用foreach。

    5.return

    return关键词有两个作用:

      a.指定一个方法返回什么值;

      b.导致当前方法退出,并返回那个值。

    6.break和continue

      break:强制退出循环,不执行循环中剩余的语句。

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

    7.类似goto

      Java没有goto,但具有类似goto的功能,因为都使用“标签”机制。

      标签格式为 label:

      Java中,标签起作用的唯一地方刚好是迭代语句之前。而在迭代之前设置标签的唯一理由是我们希望在其中嵌套另一个迭代或一个开关。

      break和continue关键词通常只中断当前循环,但和标签一起使用,会中断循环,跳转到标签所在位置。

    我们举例说明break-label和continue-label的区别,为了说明问题,我故意写了一个死循环。如下:

      上图程序的输出说明带标签的continue会跳转到标签的位置,并重新进入紧接着标签后的循环。

      从输出的i值也可以看出,i会再次从0开始,说明重新进入了for循环。

    下图是break-label的表现:

      程序的输出说明带标签的break会中断并跳出标签所指的循环。

    8.switch

      根据整数表达式的值,switch语句可以从一系列代码中选出一段去执行,属于多路选择。

    格式:

    复制代码
    switch(integral-selector){
        case integral-vallue1: statement; break;
        case integral-vallue2: statement; break;
        case integral-vallue3: statement; break;
        //...
        default:statement;
    }
    复制代码

      switch会执行case后的integral-value与integral-selector相等的statement。

      default在所有integral-value与integral-selector都不等的情况下执行。

      integral-selector必须为int或char类型类似的整数值,如果为字符串或者浮点数则switch不工作。

  • 相关阅读:
    OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/django'
    mac 安装pip
    同学公司倒闭了
    web开发中的字体选择(同事分享)
    svg 学习笔记
    用highchaarts做股票分时图
    highcharts,highStock 中文图表配置
    为什么使用 npm Scripts 构建项目
    JS 浮点型计算的精度问题 推荐的js 库 推荐的类库 Numeral.js 和 accounting.js
    HTML代码转换为JavaScript字符串
  • 原文地址:https://www.cnblogs.com/cuteguru/p/9231756.html
Copyright © 2011-2022 走看看