有时候同样一个程序需要执行多次,那我们总不可能把同样的一段程序码复制贴上吧?这样未免太没效率,也会使得程序杂乱不堪。这时候就会需要使用到「回圈」!
假设今天我们需要印出 1 到 10 的数字,那我们会需要一个计数器(counter)来控制现在到第几个回圈了。
for(int counter = 1; counter <= 10 ; counter++){
System.out.printf("%d ", counter);
}
for 回圈开始执行时,会先宣告一个变数 counter 当作计数器(也可以在 for 回圈外宣告),并将它初始化为 1,接着用分号分隔,程序会检查 for 回圈中间的条件(counter <= 10)是否为真,若为真则会执行回圈内的程序,也就是印出 counter。执行完程序後,会执行第二个分号後的 couter++,将 counter 加 1,此时会再次判断 counter 是否小於等於10,若成立则继续执行,一直到 counter 超过 10,回圈便终止,不再执行回圈内程序,离开回圈。
标准写法:
for(初始化变数 ; 条件式 ; 递增/递减){
statement;
}
那如果我们今天不知道要执行几次呢?
假设今天我们要判断输入的数字是否为正数,若否则一直输入到大於 0,我们就无法得知需要执行几次。
int inputNum = sc.nextInt();
while(inputNum < 0){
System.out.println("Please enter a positive number.");
inputNum = sc.nextInt();
}
程序一开始会先判断条件 (inputNum < 0) 是否成立,若成立则执行回圈内程序,继续读入下一个数字,执行完後,又会再次判断条件是否成立,一直到不成立时,则会跳出回圈。
标准写法:
while(条件式){
statement;
}
当然我们也可以用while回圈执行印出 1 到 10 的程序:
int counter = 1;
while(counter <= 10){
System.out.printf("%d ", counter);
counter++;
}
那如果今天在进入回圈前,我们想先执行一段程序怎麽办呢?(哪那麽多如果 XD)
以上两个程序变成先执行後判断:
int counter = 1;
do{
System.out.printf("%d ", counter);
counter++;
} while(counter <= 10);
int inputNum;
do{
System.out.println("Please enter a positive number.");
inputNum = sc.nextInt();
} while(inputNum < 0);
首先会执行 do 回圈内之程序,才会判断 while 条件是否成立,若成立则继续执行,否则离开回圈。
标准写法:
do{
statement;
} while(条件式);
这是三个不同回圈的使用方式,是不是觉得很神奇呢?以上的语法都建议大家自己实做看看哦,那今天再来一题小试身手吧!
小试身手
印出 1 到 100 中所有的偶数。
>>: ASP.NET MVC 从入门到放弃 (Day3) -C#变数型态介绍
昨天教的字串格式化你有没有学会了呢╰(*°▽°*)╯,还没学会的在等什麽,快回去复习呀!!!在此附上...
在开始写网页前,我们要先把所需的工具准备好,就像锁螺丝需要用螺丝起子一样,写网页我们要准备好我们的编...
npm install --save (产品用) npm install --save-dev (开...
打包 python 程序是个大坑,现在没有一个 python 打包器能完美打包所有 python 程...
● 这章来示范如何取得期货(Futures)的ticks 回顾上一章,我们学会如何取得股票的tick...