鱼C论坛

 找回密码
 立即注册
查看: 1330|回复: 8

[系列教程] 【Java 教程(原创)】014.循环语句、break 和 continue语句详解

[复制链接]
最佳答案
48 
发表于 2017-1-19 14:31:10 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 零度非安全 于 2017-1-21 14:13 编辑

【Java 教程(原创)】索引帖

循环语句是根据条件,要求程序反复执行某些操作,直到程序“满意”为止。

for 循环语句

for 语句的语法格式如下:
  1. for(表达式1;表达式2;表达式3){
  2.     若干语句
  3. }
复制代码

说明:“表达式 2”必须是一个求值为 boolean 型数据的表达式,复合语句称为循环体,“表达式 1”负责完成变量的初始化;“表达式 3”用来修饰变量,改变循环条件。我还是通过栗子来给鱼油们说清楚。

下面这个栗子是计算 8 + 88 + 888 + 8888 + ···  的前 12 项的和。

运行效果如下:

forUse.gif

栗子代码如下:

forUse.java
  1. public class forUse{
  2.     public static void main(String args[]){
  3.         long sum = 0,a = 8,item = a,n = 12,i = 1;
  4.         for(i = 1;i <= n;i++){
  5.             sum = sum + item;
  6.             item = item * 10 + a;
  7.         }
  8.         System.out.println(sum);
  9.     }
  10. }
复制代码

while 循环语句

while 语句的语法格式如下:
  1. while(表达式){
  2.     若干语句
  3. }
复制代码

说明:表达式为循环条件,该表达式是一个求值为 boolean 类型的数据。计算表达式的值,若果该值为 true,则执行循环体,否则结束 while 循环。

do-while 循环语句

do-while 循环语句的语法格式如下:
  1. do{
  2.     若干语句
  3. }while(表达式);
复制代码

说明:do-while 循环和 while 循环的区别是,do-while 的循环体至少被执行一次。我还是通过栗子来解释下。

下面这个例子用 while 语句计算 1 + 1/2! + 1/3! + 1/4! + ···  的前 20 项的和。

运行效果如下:

whileUse.gif

栗子代码如下:

whileUse.java
  1. public class whileUse{
  2.     public static void main(String args[]){
  3.         double sum = 0,item = 1;
  4.         int i = 1,n = 20;
  5.         while(i <= n){
  6.             sum = sum + item;
  7.             i = i + 1;
  8.             item = item * (1.0/i);
  9.         }
  10.         System.out.println("sum = " + sum);
  11.     }
  12. }
复制代码

break 和 continue 语句

break 和 continue 语句是用关键字 break 和 continue 加上分号构成的语句,例如:
  1. break;
复制代码

在循环体中可以使用 break 语句和 continue 语句。在一个循环中,例如循环 50 次的循环语句中,如果在某次循环中执行了 break 语句,那么整个循环语句就结束。如果在某次循环中执行了 continue 语句后面的语句,而转入进行下一次循环。

下面这个栗子使用了 break 和 continue 语句。前半部分计算 1 + 3 + 5 + 7 + 9  的和,后半部分 输出 50 以内的素数

运行效果如下:

bcUse.gif

栗子代码如下:

bcUse.java
  1. public class bcUse{
  2.     public static void main(String args[]){
  3.         int sum = 0,i,j;
  4.         for(i = 0;i <= 10;i++){
  5.             if(i % 2 == 0){
  6.                 continue;
  7.             }
  8.             sum = sum + i;
  9.         }
  10.         System.out.println("sum = " + sum);
  11.         for(j = 2;j <= 50;j++){
  12.             for(i = 2;i <= j/2;i++){
  13.                 if(j % i == 0){
  14.                     break;
  15.                 }
  16.             }        
  17.             if(i > j/2){
  18.                  System.out.println("" + j + "是素数");
  19.             }
  20.         }
  21.     }
  22. }
复制代码

【特别注意】帖子中的栗子希望鱼油们能自觉的手动敲上去,不要单纯的复制粘贴保存,然后编译运行。


评分

参与人数 2荣誉 +8 鱼币 +5 收起 理由
~风介~ + 3 + 5 支持楼主!
alltolove + 5 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

最佳答案
54 
发表于 2017-1-19 16:05:00 | 显示全部楼层
稍微有点儿技术范儿了~
最佳答案
48 
 楼主| 发表于 2017-1-19 16:23:15 | 显示全部楼层
~风介~ 发表于 2017-1-19 16:05
稍微有点儿技术范儿了~

一般一般
最佳答案
0 
发表于 2017-1-19 16:56:50 | 显示全部楼层
2333

评分

参与人数 1鱼币 +5 收起 理由
零度非安全 + 5 热爱鱼C^_^

查看全部评分

最佳答案
0 
发表于 2017-1-20 14:58:12 | 显示全部楼层
for循环里是不是不能放初始化语句。类似for(int i = 0; i <10; ++)
最佳答案
48 
 楼主| 发表于 2017-1-20 15:01:43 | 显示全部楼层
小小七 发表于 2017-1-20 14:58
for循环里是不是不能放初始化语句。类似for(int i = 0; i

可以的
  1. for(int i = 0;i < 10;i++)
复制代码
最佳答案
0 
发表于 2017-3-20 14:06:25 | 显示全部楼层
学习
最佳答案
0 
发表于 2018-4-10 14:47:42 | 显示全部楼层
怎么没有多重for循环
最佳答案
0 
发表于 2018-4-15 21:12:31 | 显示全部楼层
谢谢讲解
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号 )

GMT+8, 2018-7-21 21:47

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表