Java语言基础17-循环执行

循环执行 page 17 of 37


Java(TM) 提供了 while, do-while, 和 for 语言结构来循环多次执行一个语句(或语句组)。while 是一种更常用的循环结构;for 则语法功能更强大。

循环结构
while (<布尔表达式>)
<语句组>...
do
<语句组>...
while (<布尔表达式>)
for (<初始条件>...; <布尔表达式>; <循环过程表达式>...)
<语句>...

有了循环,我们就可以让我们的狗叫个不停,令我们的邻居很沮丧:


  void bark(int times) {
    while (times > 0) {
      System.out.println(barkSound);
      times = times - 1;
    }
  }

因此,用另一个 bark() 方法,我们可以支持面向对象的任务:向 Dog 的实例发送一个 bark 消息,该消息用方法定义中的 times 参数来反映消息请求 n 次叫声(bark)。

DogChorus 现在真的名符其实了:


public class DogChorus {
  public static void main(String[] args) {
    Dog fido = new Dog();
    Dog spot = new Dog();
    spot.setBark("Arf.  Arf.");
    fido.bark();
    spot.bark();
    fido.bark(4);
    spot.bark(3);
    new Dog().bark(4); // unknown dog
    System.exit(0);
  }
}

现在 DogChorus 的输出为:


Woof.
Arf.  Arf.
Woof.
Woof.
Woof.
Woof.
Arf.  Arf.
Arf.  Arf.
Arf.  Arf.
Woof.
Woof.
Woof.
Woof.

请注意程序中带注释"// unknown dog"的那行代码。正如前面讲到的,Java 是一门动态语言,此例又说明了这点。一只"未命名"被初始化了的 Dog 凭空出现(突然从天而降)加入合唱,然后无隐无踪。

也就是说,在 Java 中,我们可以随意创建类的实例,并直接使用,而不必将之赋值给一个为了将来的使用而设的引用变量(只要我们将来不需用到它)。而且,按 Java 的语法和"new <data-type>()" 的求值次序规则,我们不必将 new 操作用"()"括起来就可以实现这点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值