0%

Java 编程基础(五):循环

1. Java 中的循环形式有哪几种

  • 有 4 种,分别是 whiledo/while(不常用)、forforeach(Java 5 新增)

2. for( ; ; ) {} 这种写法是否合法

  • 合法
  • for 语句中,每条语句都可以为空,但分号不能省
  • 这是个死循环(无限循环),一直在空转,和 while(true) {} 的效果是一样的

3. foreach 是关键字吗

  • foreach 不是关键字

  • Oracle Java 8 语言规范truefalsenull 只是字面值,实际上并不是关键字

  • Java 中关键字的分类(Java 中关键字都是小写的)

    • 包相关

      关键字 含义
      import 导入指定的类或包
      package
    • 保留字

      关键字 含义
      goto 指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。goto 语句会降低程序的可读性,Java 不允许 goto 跳转
      const 类型修饰符,指定字段或局部变量的值是常数,不能被修改
    • 变量引用

      关键字 含义
      void 声明当前方法没有返回值
      this 只表示当前实例对象的引用
      super 表明当前对象的父类型的引用或者父类型的构造方法
    • 访问控制

      关键字 含义
      private 一种访问控制方式:私有模式
      public 一种访问控制方式:公有模式
      protected 一种访问控制方式:保护模式
    • 错误处理

      关键字 含义
      try 包装一个可能抛出异常的程序块
      catch 捕捉可能抛出的异常
      finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
      throw 抛出一个异常
      throws 声明方法中所有需要抛出的异常
    • 基本类型

      关键字 含义
      byte 基本数据类型之一,字节类型
      short 基本数据类型之一,短整数类型
      int 基本数据类型之一,整数类型
      long 基本数据类型之一,长整数类型
      float 基本数据类型之一,单精度浮点数类型
      double 基本数据类型之一,双精度浮点数类型
      char 基本数据类型之一,字符类型
      boolean 基本数据类型之一,布尔类型
      enum 枚举
    • 程序控制语句

      关键字 含义
      if 条件语句的引导词
      else 用在条件语句中,表明当条件不成立时的分支
      switch 分支语句结构的引导词
      case 用在 switch 语句之中,表示其中的一个分支
      do 用在 do-while 循环结构中
      while 用在循环结构中
      for 一种循环结构的引导词
      break 提前跳出一个块
      continue 回到一个块的开始处
      default 默认,例如,用在 switch 语句中,表明一个默认的分支
      return 从方法中返回数据
      instanceof 用来判断一个对象是否是指定类型的实例对象
    • 类方法和变量修饰符

      关键字 含义
      new 用来创建新的实例对象
      class
      static 表明具有静态属性
      final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变
      native 声明方法是由与计算机相关的底层语言(如C/C++/FORTRAN语言)实现的
      abstract 表明类或者成员方法具有抽象属性
      extends 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
      implements 表明一个类实现了给定的接口
      interface 接口
      volatile 表示可以被多个线程异步修改的成员变量,目标是为了确保所有线程所看到的指定变量的值都是相同的。volatile 还可以禁止指令重排,在双重校验锁的单例模式中有其应用。volatile 关键字在许多 Java 虚拟机中都没有实现,Java 语言中的 volatile 变量可以被看作是一种 “轻量级的 synchronized”
      transient 声明不用序列化的成员域
      synchronized 表明一段代码需要同步执行
      strictfp 用来声明 FP_strict(单精度或双精度浮点数)表达式遵循 IEEE 754 标准

4. 循环的实现原理

  • if 一样,循环内部也是靠条件转移指令无条件转移指令实现的
  • if 中,跳转只会往后跳,而 for 会往前面跳。而且,breakcontinue 语句也都会转换为跳转指令

5. 循环的意义

  • 在算法中也称循环为迭代
  • 虽然循环看起来只是重复执行一些类似的操作而已,但它其实是计算机程序解决问题的一种基本思维方式
-------------------- 本文结束感谢您的阅读 --------------------