你没见过的Java入门,使用中文例程的教程之之六:直到...一直...

八 直到...一直...

记得算识字量的程序么? 如果要算10年, 难道必须重复10行识字量 = (1 + 每年翻倍数) * 识字量;吗? 用脚趾想也不可能吧.

在写代码之前, 不妨先构思一下该怎么算. 这里多了一个输入值: 年限. 照原来的思路应该是: 每过一年增加一次识字量, 直到过了10年. 这样就需要记着过了多少年. 之前提到, 一个变量用来"记"变化的值最合适:

for (int 年份 = 0; 年份 < 年限; 年份 = 年份 + 1) {
 识字量 = (1 + 每年翻倍数) * 识字量;
}

上面的代码反映了我们的思路:

同样的循环用while的格式来写是这样:

int 年份 = 0;
while (年份 < 年限) {
 识字量 = (1 + 每年翻倍数) * 识字量;
 年份 = 年份 + 1;
}

看起来for循环更紧凑, 也更不容易写错. while循环里,如果忘写了"年份 = 年份 + 1;",可就有趣了,因为年份没有增加, 循环中止条件一直不能满足(0永远小于年限), 代码运行停不下来,俗称"死循环". 而for循环里因为定了"(初始化; 循环条件; 累加或递减执行语句)"的格式, 少了一项会很扎眼.

如果想要提前结束循环,可以用break. 想知道过几年能认识中文的常用三千字的话:

你没见过的Java入门,使用中文例程的教程之之六:直到...一直...

break执行后,它所在的循环就被打断,程序从循环之后开始执行.

如果想要循环继续执行,但是跳过循环内的部分代码,可以用continue. 一个牵强的例子,如果从第三年才开始认识新字(比如在国外呆了三年):

for (int 年份 = 0; 年份 < 年限; 年份 = 年份 + 1) {
 if (年份 < 3) {
 continue;
 }
 识字量 = (1 + 每年翻倍数) * 识字量;
}

注: 有更简短的实现方法, 这个例子只为了演示continue的用处. 恭喜! 至此控制流介绍完了.

敬请期待后续,关注本号“用中文编程”!如需文字版教程,请联系我。

展开阅读全文

页面更新:2024-05-16

标签:中文   新字   扎眼   千字   倍数   年限   变量   年份   例程   入门   例子   思路   条件   结束   代码   格式   程序   教程   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top